小编给大家分享一下PHP转义汉字的解决办法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php转义汉字的解决办法:1、使用自定义的“function JSON_encode_ex($value)”方法实现中文不转义;2、通
小编给大家分享一下PHP转义汉字的解决办法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
php转义汉字的解决办法:1、使用自定义的“function JSON_encode_ex($value)”方法实现中文不转义;2、通过“jsON_UNESCAPED_UNICODE”选项实现不转义;3、使用urldecode来解码。
php实现json_encode()中文字符不转义
在项目中,php提供的接口使用json_encode()函数,在处理中文的时候, 中文都会被编码成Unicode码, 变成不可读的, 类似”\u***”的格式,如果想汉字不进行转码,这里提供三种方法
php版本在5.3及以下自己写函数实现中文不转义
function json_encode_ex($value){ if(version_compare(PHP_VERSION,'5.4.0','<')){ $str = json_encode($value); $str = preg_replace_callback( "#\\\u([0-9a-f]{4})#i", function($matchs) { return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1])); }, $str ); return $str; }else{ return json_encode($value, JSON_UNESCAPED_UNICODE); }}echo json_encode_ex($arr);
php版本5.4以上,json_encode()新增了一个选项,JSON_UNESCAPED_UNICODE 意思是json不要unicode编码
echo json_encode($arr,JSON_UNESCAPED_UNICODE);
先把中文汉字进行urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了
$arr = array( 'key'=>urlencode("测试"));$json = json_encode($arr);echo urldecode($json);//{"key":"测试"}
看完了这篇文章,相信你对“php转义汉字的解决办法”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网PHP编程频道,感谢各位的阅读!
--结束END--
本文标题: php转义汉字的解决办法
本文链接: https://lsjlt.com/news/268611.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0