我正在尝试使用PHP操作JSON文件并遇到问题,即函数
$json = json_encode($cd, JSON_UNESCAPED_UNICODE);
无法正常工作。
代码:
<?php
$contents = file_get_contents('file.json');
$ut= utf8_encode($contents);
$cd = json_decode($ut, true);
$cd['File'][0]['Name']="AnotherName";
$json = json_encode($cd, JSON_UNESCAPED_UNICODE);
file_put_contents('general.json', $json);
?>
操作正在进行,但是有一些ä,ö,ü和/符号,它们在输出文件中更改为¤...和/。有没有办法解决这个问题?
由于
答案 0 :(得分:1)
假设您的file.json
包含以UTF-8编码的实际有效JSON,您唯一的问题是您在编码时使用utf8_encode
搞乱了编码。 utf8_encode
将 从ISO-8859-1 转换为UTF-8,这是不必要的,因为您的输入不是ISO-8859-1。该问题与json_encode
函数无关。