亲人是父母给你找的朋友,朋友是你给自己找的亲人,所以同等重要,孰轻孰重没那么多分别。
php输出使用json_encode函数生成的json数据的时候,发现数据中的中文被转义成了unicode编码,如果使用ajax请求的json数据还好一点,浏览器会自动将unicode编码转义回来,但如果直接输出到浏览器上,那就会直接输出 unicode 编码,影响阅读体验。
解决php json_encode函数中文被转义的方法
这篇博文不考虑页面编码的问题,只从 json_encode 函数上来解决中文被 unicode 编码的问题,大家可以做个参考。
方法1:
此方法适用于php版本大于5.4情况下,如果php版本低于5.4可参考方法2
设置 json_encode 第二个参数为 JSON_UNESCAPED_UNICODE,则 json_encode 输入带的中文的数据时,中文不会被编码
例:
//feiniaomy.com $arr = array('code' => 'success','msg' => '这里是一个提示的内容'); echo json_encode($arr); //输出的JSON: {"code":"success","msg":"\u8fd9\u91cc\u662f\u4e00\u4e2a\u63d0\u793a\u7684\u5185\u5bb9"} echo json_encode($arr,JSON_UNESCAPED_UNICODE); // 将第二个参数设置为:JSON_UNESCAPED_UNICODE //输出的JSON:{"code":"success","msg":"这里是一个提示的内容"}
方法2:
低于 5.4 版本的php中,json_encode 函数的第二个参数不起作用,则需要自己定义函数来实现不转义汉字的方法。
例:
$arr = array('Name' => '墨初','Host' => 'http://feiniaomy.com'); //需要判断一个php的版本 if(version_compare(PHP_VERSION,'5.4.0','<')) { foreach($arr as $key => $value){ $jsonstr[$key] = urlencode($value); } echo urldecode(json_encode($jsonstr)); }else{ echo json_encode($arr); }
到此这篇关于如何解决 php javascripton中文乱码的问题就介绍到这了。平凡人生要用平凡的心去对待,你的人生将会更精彩。更多相关如何解决 php javascripton中文乱码的问题内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!