一直用 php 的函数 json_encode() 进行数据传输,均没有遇到过问题,但是今天却遇到了不能编码的问题
1、问题描述:数据json化的时候,数据必须是utf8编码,不然不能json化。
2、逐步解决思路:数组中含有中文,刚开始以为是php文件的编码问题,但是加上utf8 编码的头文件
还是不能json化,最后意识到是表的问题,在逐步试探中,发现中文插入表中也会乱码,然后改变表的编码
状态,改成utf8,结果还是没有什么变化,然后想到是安装mysql的时候,默认的编码应该不是utf8,找到
my.ini查看之后,果然是:
改完后一切ok.
3、还有一点就是json化的时候难免会遇到一些转义字符,这个很好解决:json_encode($res,JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);
记录下心路历程。