Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP json_decode\u0441返回意外值_Php_Json_Unicode - Fatal编程技术网

PHP json_decode\u0441返回意外值

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

我们正在使用PHP从api中提取一些数据。它返回一个JSON字符串,其中包含多种语言及其unicode编码字符

例如,unicode中返回的一个字符是“c”-这在
JSON
字符串中由值
\u0441

如果我在这个字符串上运行json_decode,我会得到一个
“ñ”
,这显然是出乎意料的


是否有我遗漏的步骤,例如编码转换,或者原始api输出不正确?

很可能您只是没有正确处理编码\u0441被解码为UTF-8编码的“c”,很好,您只是没有将结果解释为UTF-8。UTF-8中编码的U+0441是0xD181,当以单字节编码(如ISO 8895-1)进行解释时,它将显示为两个字符,
(0xD1)和控制字符0x81(不可打印)。修复输出编码的声明,它应该是正确的。