PHP json_decode\u0441返回意外值
我们正在使用PHP从api中提取一些数据。它返回一个JSON字符串,其中包含多种语言及其unicode编码字符 例如,unicode中返回的一个字符是“c”-这在PHP json_decode\u0441返回意外值,php,json,unicode,Php,Json,Unicode,我们正在使用PHP从api中提取一些数据。它返回一个JSON字符串,其中包含多种语言及其unicode编码字符 例如,unicode中返回的一个字符是“c”-这在JSON字符串中由值\u0441 如果我在这个字符串上运行json_decode,我会得到一个“ñ”,这显然是出乎意料的 是否有我遗漏的步骤,例如编码转换,或者原始api输出不正确?很可能您只是没有正确处理编码\u0441被解码为UTF-8编码的“c”,很好,您只是没有将结果解释为UTF-8。UTF-8中编码的U+0441是0xD181
JSON
字符串中由值\u0441
如果我在这个字符串上运行json_decode,我会得到一个“ñ”
,这显然是出乎意料的
是否有我遗漏的步骤,例如编码转换,或者原始api输出不正确?很可能您只是没有正确处理编码\u0441被解码为UTF-8编码的“c”,很好,您只是没有将结果解释为UTF-8。UTF-8中编码的U+0441是0xD181,当以单字节编码(如ISO 8895-1)进行解释时,它将显示为两个字符,
尼
(0xD1)和控制字符0x81(不可打印)。修复输出编码的声明,它应该是正确的。