无法解析带有TM符号的json文件

时间:2019-01-28 19:40:55

标签: php json

我收到一些生成的json文件,有些文件将包含™符号,如果该文件带有™符号,那么json_decode将无法在其上运行,当我打印$data时,将打印NULL。如果我手动删除该符号,那么我将看到数据。 我正在使用以下代码,它将打印出json文件中的内容,直到到达带有™符号的json文件中为止

$json = file_get_contents($count . '.json');
$data = json_decode($json);
echo '<pre>';
var_dump($data);
echo '</pre>';

我尝试使用urlencodeurldecodehtmlspecialchars,但是它们也不起作用。

1 个答案:

答案 0 :(得分:0)

json_decode将仅解析UTF-8字符串。 如果您正在读取的文件不是UTF-8格式,它将失败。

如果您不知道将要读取的文件的编码, 可以在解析数据之前将数据转换为UTF-8,如本文所示:

PHP: Convert any string to UTF-8 without knowing the original character set, or at least try