php中文轉unicode
發布時間: 2025-04-10 19:15:37
❶ php如何gb18030轉換gbk
iconv的支持那些字元集之間的轉換?
支持主流的字元集之間的轉換
iconv("gb18030", "GBK" , $string)
如果不通過iconv函數,而是希望通過建立字元映射表的方式進行轉換的話,我想問一下如何建立 Unicode 和 GB18030之間的映射表?
我國的漢字編碼標准自1980年公布的gb2312以後,歷經gbk到正式的gb18030。當然還要繼續擴展
我國的漢字編碼標准在世界編碼標准集中編號為Code Page 936簡稱CP936
在網上搜索cp936就可以找到編碼標準的文本和圖譜,其中包含對應的unicode編碼
於是,構造映射表可從編碼標准中提取需要的信息
另外,在支持iconv的環境中只需一個雙重循環就可以產生映射表了。何樂而不為呢?
❷ 如何讓php jsonencode 不轉義unicode
方法有兩種
1:php版本大於等於5.4,在使用json_encode的時候加入第二個參數JSON_UNESCAPED_UNICODE:如
//這樣使用中文可不會被轉義
$jsonStr=json_encode($data,JSON_UNESCAPED_UNICODE);
2:如果php版本小於5.4,可以使用這種方法,對unicode碼再進行解碼,解碼函數如下:
/**
*因php版本小於5.4
*decodeUnicode對中文編碼unicode進行反轉義為漢字
*@param$strjson字元串
*@return轉義後的json字元串
*/
functiondecodeUnicode($str)
{
returnpreg_replace_callback('/\\u([0-9a-f]{4})/i',
create_function(
'$matches',
'returnmb_convert_encoding(pack("H*",$matches[1]),"UTF-8","UCS-2BE");'
),
$str);
}
//使用方法
$jsonStr=decodeUnicode(json_encode($data));
//或者單獨封裝一個函數
function_json_encode($data=array()){
returndecodeUnicode(json_encode($data));
}
熱點內容