json与�

今天卜卜口的 PHP 遇到了一个问题,在读取一份 array 的时候,里面一部分数据是乱码的,导致 json_encode 失效。

首先需要看看乱码是不是编码引起的,想切换编码的时候,发现。。。

encode

编码你怎么了编码!!!

原来是网页发送了 json 头,屏蔽掉之后就可以更换编码,看起来没有一个正常。遂另存为仔细观察之。

e

噫,&#65533是什么鬼东西?查了资料才知道,就是我们有时候会遇到的�这个东西。

在读取数据的时候,如果遇到无法识别的编码就会用 Unicode 替换字符(U+FFFD,转换 10 进制就是 65533)代替。

知道问题就好解决了,要么去掉这玩意儿再 encode ,要么让 PHP 想办法继续,

查 PHP 文档发现 json_encode 函数第二个参数传入 JSON_PARTIAL_OUTPUT_ON_ERROR 就可以让 encode 忽略掉错误继续执行。

问题解决~\(≧▽≦)/~

json与� 有 12 个评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注