json_encode是怎样对待中文的04-20
虽说活到老学到老,但是学什么呢,遇到需要学的才能学,所以遇见就是缘分!
在工作中对接接口时,数据类型多为json数据,所以用json_encode()时候很多,也对TA进行了重新认识。基于一点,都清楚编程的起源都是西方,所以一开始计算机就不认识中文,所以在编程中中文一直受到‘歧视’的语言!
在刚接触json_encode()处理中文时,为了做到兼容最常用的方法就是先讲中文urlencode()转码,再转json,这是经验告诉自己的,但是不转码的话,直接json_encode()会出现什么情况呢?
你试过吗?
我虽然试过但是也没深究,到了接口对接时细细的品味了一番,
测试代码:
原来直接处理的话,中文变成了这种样式:
\u5317\u6f02\u8005
其实就是转化成了Unicode编码了,正常情况下,直接再使用json_decode()解析的话也是没问题的;但是如果是传递给了Java的话TA就要处理一番,但是使用JSON常量的话JSON_UNESCAPED_UNICODE,就没有这么麻烦了,不管是php还是java都是直来直去,不有过多修改了。
注意:JSON_UNESCAPED_UNICODE 支持php5.4以上版本
JSON常量参考:http://php.net/manual/zh/json.constants.php
相关文章:
,请先登录查看所有评论- PCRE(正则表达式)匹配中文最权威汇总 2015-02-11
- 重新认识PHP中的POST 2015-01-29
- ThinkPHP 伪静态配置(Apache+IIS)(二) 2014-12-10
- ThinkPHP 伪静态配置(Apache+IIS)(一) 2014-12-06
- mysql_real_escape_string()与addsalashes()的区别 2014-12-02