如何用PHP实现JSON编码时将中文字符转换为UNICODE编码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计368个文字,预计阅读时间需要2分钟。
使用PHP的json_encode处理中文时,中文都会被编码,变成不可读的格式,类似于***。若想避免汉字转码,有以下三种方法:
1. 升级PHP版本,在PHP 5.4及以上版本,这个问题得到了解决。Json新增了对Unicode编码的支持。
2. 使用自定义编码器。在调用json_encode前,手动将字符串编码为UTF-8,然后再进行编码。
3. 在输出JSON数据前,对中文进行URL编码或HTML实体编码,然后调用json_encode。
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式,如果想汉字不进行转码,这里提供三种方法
1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
<?php
echo json_encode("中文", JSON_UNESCAPED_UNICODE);
//"中文"
2.把汉字先urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了。
本文共计368个文字,预计阅读时间需要2分钟。
使用PHP的json_encode处理中文时,中文都会被编码,变成不可读的格式,类似于***。若想避免汉字转码,有以下三种方法:
1. 升级PHP版本,在PHP 5.4及以上版本,这个问题得到了解决。Json新增了对Unicode编码的支持。
2. 使用自定义编码器。在调用json_encode前,手动将字符串编码为UTF-8,然后再进行编码。
3. 在输出JSON数据前,对中文进行URL编码或HTML实体编码,然后调用json_encode。
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式,如果想汉字不进行转码,这里提供三种方法
1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
<?php
echo json_encode("中文", JSON_UNESCAPED_UNICODE);
//"中文"
2.把汉字先urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了。

