PHP--ajax请求中文乱码之json_encode中文乱码

版权声明:本文为博主原创文章,评论区告知一声,大家随意转载! https://blog.csdn.net/MessageBox_/article/details/84791433

今天在调用一个接口时,发现我传递给后台的数据中的中文莫名其妙的乱码了。。。一开始想着是不是我前台的调用方法不对,导致中文在传递的过程中出现了乱码。但是我发现接口中另一个字段使用中文就没有问题,无奈之下,本人只能打开phpstorm来看看后台的接口是什么情况,结果发现传递给后台的数据中文是正常显示的,直到后台的同事调用了json_encode这个方法后,中文就变成了一堆/u****开头的东西。上网一查,原来是这个方法的bug导致的。下面记录一下解决方法。

  1. 升级PHP到5.4, json_encode方法新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
    <?php echo json_encode("中文", JSON_UNESCAPED_UNICODE); //"中文"

还有其他的方法,目前兴趣不大,如果后面有遇到,再过来补充一下。

猜你喜欢

转载自blog.csdn.net/MessageBox_/article/details/84791433