php应用pack函数转unicode为utf8
因为时常用到json_encode去处理数据,json_encode在处理字符串遇上中文时,会把中文转换成\u5371这种格式的字符串,如果想让它能正常显示中文,则可以用pack打包函数进行处理.
以下是将"\u5371\u9669"转成"危险"的代码,unicodeString这个函数,可以直接用在json_encode处理后的字符串上.
header("content-type:text/html;charset=utf-8");
$unicodeChar = "\u5371\u9669";
function unicodeString($str, $encoding=null) {
return preg_replace_callback(‘/\\\\u([0-9a-fA-F]{4})/u‘,
create_function(‘$match‘, ‘return mb_convert_encoding(pack("H*",
$match[1]), "utf-8", "UTF-16BE");‘), $str);
}
echo unicodeString($unicodeChar);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。