PHP数组编码变换
PHP数组编码转换
因为一些特殊字符的显示效果的原因不得不把习惯的utf-8工程改成了GBK,由于使用了ajax技术,又涉及到了老问题――编码转换。
一些表单验证需要返回json数据,php的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数。
最开始的思路,将数组序列化后用iconv函数转换编码,之后再反序列化,代码如下:
unserialize(iconv('gbk','utf-8',serialize($array)));
得到的结果是空白,后来想起来配置文件里设置了默认编码 ini_set('default_charset', 'gbk'); 这样用gbk反序列化utf-8的字符串肯定不好用了,此处在序列化和反序列化之间加个ini_set('default_charset', 'utf-8'); 应该也是可以的,但这么弄总觉得有点别扭,因为是全局的编码设置,很容易导致其他地方的编码问题,比如数据库操作。那么换个思路,用构建数组原型的序列化方法,借助var_export函数,最终函数如下:
function array_iconv($in_charset,$out_charset,$arr){ return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';')); }
原理很简单 var_export设置第二个参数为true,返回数组原型字符串,将字符串转换为utf-8编码,之后再用eval来执行返回(类似匿名函数?),至此完美解决问题。
后续:后来在网上搜了下资料,看有没有更好的方法,找到的都大同小异,都是利用递归调用iconv的方式,如果数组元素过多或者维数多一些,性能上肯定不怎么样了,更好的是原生代码的方式,不需要考虑是N维数组还是关联数组,一切都已经自动完成,保证数组转换前后数据一致。从代码的长短以及循环和原生方法的比较上,相信大家已经有了选择。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

VueCli中出現'Therequestedmoduledoesnotprovideanexportnamed'Error–要怎麼解決?在Vue專案的開發過程中,我們可能會遇到'Therequestedmoduledoesnotprovideanexportnamed'的錯誤提示。這個錯誤提示一般會出現在引入第三方元件時

在進行文字處理過程中,對於不同編碼格式的字串進行轉換是常見的需求。而PHP語言中提供的iconv(InternationalizationConvertion)函數可以非常方便地滿足這項需求。本文將從以下幾個方面詳細介紹iconv函數的使用方法:iconv函數的定義和常見參數介紹實例演示:將GBK編碼的字串轉換為UTF-8編碼的字串實例演示:將UTF

Go語言編碼解析:UTF-8與GBK比較在Go語言中,處理字串編碼是常見的任務之一。其中,UTF-8和GBK是兩種常用的字元編碼方式。本文將對UTF-8和GBK進行詳細對比,探討它們的差異和使用方法,並附上具體的程式碼範例。一、UTF-8與GBK的簡介UTF-8:UTF-8是一種可變長度的Unicode編碼方式,它可以表示世界上幾乎所有語言的字元。 UTF-8

iconv-fencoding[-tencoding][inputfile]...[功能]對於給定檔案把它的內容從一種編碼轉換成另一種編碼。 [描述]-fencoding:把字元從encoding編碼開始轉換。 -tencoding:把字元轉換到encoding編碼。 -l:列出已知的編碼字元集合-ofile:指定輸出檔案-c:忽略輸出的非法字元-s:禁止警告訊息,但不是錯誤訊息--verbose:顯示進度訊息-f和-t所能指定的合法字元在-l選項的命令裡面都列出來了。 [舉例]*列出目前支援的字元編碼

export和export default的區別是export關鍵字用於導出一個或多個變數、函數或類,而export default關鍵字用於導出一個預設的變數、函數或類別。在其他模組中,可以使用import關鍵字來匯入這些導出的變數、函數或類別。

這篇文章將為大家詳細講解有關PHP改變字體中的字符編碼向量,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP中改變字串中的字元編碼在php中,字串的字元編碼決定了其中字元的表示方式。若要變更字串的字元編碼,可以使用下列步驟:1.確定目前字元編碼$encoding=mb_detect_encoding($string);這將傳回字串,表示字串的目前字元編碼,例如"UTF-8"或"ISO-8859-1"。 2.使用mb_convert_encoding

1.exportList);}2.匯出列名privateStringmyExport(Listlist){com.bronzesoft.power.tools.json.JSONObjectinfo=newcom.bronzesoft.power.toolspower.tools.json.JSONObjectinfo=newcom.bronzesoft.power.tools .json.JSONObject();try{ListheadList=newArrayList(Arrays.asList(&

1、在开始菜单点击鼠标右键,点一下运作。2、键入control回车键开启操作面板>钟表和地区>地区>管理方法>更该操作系统地区设定>发票勾选"Beta版:应用UnicodeUTF-8保证全世界語言适用"。
