介绍
今天就跟大家聊聊有关利用PHP怎么对Unicode编码进行转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
具体如下:
& lt; PHP ?/* * *,str 美元;原始中文字符串 *,encoding 美元;原始字符串的编码,默认utf - 8 *,prefix 美元;编码后的前缀,默认“,#“; *,postfix 美元;编码后的后缀,默认”;“ */function unicode_encode (str美元,美元encoding =, & # 39; utf - 8 # 39;,, prefix 美元;=,& # 39;,# & # 39;,,postfix 美元;=,& # 39;;& # 39;),{ ,//将字符串拆分 ,str 美元;=,iconv (“UTF-8",,“gb2312",, str美元); ,cind 美元;=,0; 数组,arr_cont 美元;=,(); ,for ($小姐:=,0;,美元小姐:& lt;, strlen (str);,我+ +美元),{ ,if (strlen (substr (str美元,cind美元,1)),祝辞,0),{ if 才能;(奥德(substr (str美元,cind美元,1)),& lt;, 0最后),{,//如果为英文则取1个字节 array_push才能(arr_cont美元,substr (str美元,cind美元,1)); 美元才能cind + +; ,,},{else array_push才能(arr_cont美元,substr (str美元,cind美元,2)); 美元才能cind +=2; ,,} ,} ,} ,foreach (arr_cont 美元;as 及美元行),{ ,row 美元;=,iconv (“gb2312",,“UTF-8",,美元行); ,} ,//转换Unicode码 美元,foreach (arr_cont as  key 美元;=祝辞,美元值),{ ,unicodestr美元。=$ prefix 只base_convert (bin2hex (iconv (& # 39; utf - 8 # 39;,, & # 39; ucs - 4 # 39;,,美元值)),,16日,10),美元后缀; ,} ,return unicodestr美元; }/* * *,str 美元;Unicode编码后的字符串 *,decoding 美元;原始字符串的编码,默认utf - 8 *,prefix 美元;编码字符串的前缀,默认“,#“; *,postfix 美元;编码字符串的后缀,默认”;“ */function unicode_decode (unistr美元,美元encoding =, & # 39; utf - 8 # 39;,, prefix 美元;=,& # 39;,# & # 39;,,postfix 美元;=,& # 39;;& # 39;),{ ,arruni 美元;=,爆炸($前缀,unistr美元); ,unistr 美元;=,& # 39;& # 39;; ,for ($小姐:=,1,$ len =, count ($ arruni);,美元小姐:& lt;, len;美元,美元我+ +),{ 美元,if (strlen(后缀),祝辞,0),{ 美元才能arruni [$ i],=, substr (arruni美元($ i), 0,, strlen ($ arruni [$ i]),安康;strlen(后缀)美元); ,} ,temp 美元;=,intval中($ arruni [$ i]); unistr 美元。=,(temp 美元;& lt;, 256), ?,空空的(0),只空空的(临时)美元,:,空空(temp 美元/,256),只为了(temp 美元;%,256); ,} ,return iconv (& # 39; ucs - 2 # 39;,,编码,美元,美元unistr); } 时间=美元str “PHP编程:www.jb51.net"; $ unistr =, unicode_encode (str); $ unistr2 =, unicode_decode ($ unistr); echo unistr 美元;只& # 39;& lt; br /祝辞;& # 39;; echo unistr2 美元;只& # 39;& lt; br /祝辞;& # 39;; unistr 美元;=,unicode_encode (str美元,& # 39;gbk # 39;, & # 39; \ \ u # 39;); unistr2 美元;=,unicode_decode (unistr美元,& # 39;gbk # 39;, & # 39; \ \ u # 39;); echo unistr 美元;只& # 39;& lt; br /祝辞;& # 39;; echo unistr2 美元;只& # 39;& lt; br /祝辞;& # 39;;
<>强PS:下面测试过这个函数比较好,用该代码需要在utf - 8编码环境下运行强>
function unicode_encode(名字),{//Unicode编码 ,jsonarr 美元;=,数组($名称); ,jsonstr 美元;=,json_encode ($ jsonarr); ,if (empty (jsonstr美元)) ,return & # 39; & # 39;; jsonstr美元,return substr (2, 2); } function unicode_decode(名字),{//Unicode解码 ,json 美元;=,& # 39;{“str":“& # 39;,只name 美元;只& # 39;“}& # 39;; ,arr 美元;=,json_decode (json,美元,真的); ,if (empty (arr)美元) ,return & # 39; & # 39;; ,return arr美元[& # 39;str # 39;]; } 时间=美元test “\ u811a \ u672c \ u4e4b \ u5bb6"; echo “unicode解码:“.unicode_decode(测试)美元霸主地位;& lt; br/在“; echo “unicode编码:“.unicode_encode(& # 39; & # 39;)干净& lt; br/在“;
看完上述内容,你们对利用PHP怎么对unicode编码进行转换有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。