Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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解码特殊字符_Php_Json - Fatal编程技术网

php json解码特殊字符

php json解码特殊字符,php,json,Php,Json,我不想从文件中解码json字符串,但特殊字符有问题(例如'™', '★'..). 我的PHP代码 $price_string = file_get_contents("/var/www/bot/price.json"); $price = json_decode($price_string, true); echo $price["StatTrak™ P250 | Mehndi (Field-Tested)"]; 结果应为12.01,但结果如下: Notice: Undefined index

我不想从文件中解码json字符串,但特殊字符有问题(例如'™', '★'..). 我的PHP代码

$price_string = file_get_contents("/var/www/bot/price.json");
$price = json_decode($price_string, true);
echo $price["StatTrak™ P250 | Mehndi (Field-Tested)"];
结果应为12.01,但结果如下:

Notice: Undefined index: StatTrak� P250 | Mehndi (Minimal Wear) in /var/www/html/menu.php on line ..
例如,JSON字符串是:

{
    "★ Huntsman Knife | Boreal Forest (Well-Worn)": 62.84,
    "StatTrak™ P250 | Mehndi (Field-Tested)": 12.01
}

除了使用这种随机键的坏主意外,这主要是因为编码不匹配。检查清单:

  • 确保您的PHP脚本文件使用与JSON文件相同的编码(很可能是UTF8)
  • 确保您的PHP代码在访问数组之前没有处理键字符串,如果处理了,请确保您的PHP在内部也使用UTF8(默认情况下应使用UTF8,但这是可配置的)

转储$price数组。您的通知可能会受到HTML中使用的编码类型的影响。不,这是有效的,只有在没有特殊字符的情况下才有效。