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));
}
热点内容