我有一个PHP代码,可以在调用时写入JSON文件。该文件包含一些西班牙语和葡萄牙语的拉丁字符。当浏览器直接浏览到它的URL时,它会在浏览器上正确显示,但在应用程序和响应预览选项卡下的开发者控制台中,这些字符将替换为字符 。
该文件使用以下代码用PHP编写:
file_put_contents('../data/cameras.json', $json, LOCK_EX);
我尝试了许多方法来修复此编码但没有成功(其中一些甚至删除了字符,但这不是一个可接受的解决方案)。
有关如何解决此问题的任何建议?
答案 0 :(得分:1)
我已经下载了json文件,当在ANSI
模式下在notepad ++中查看时,它看起来很好。所以我猜这个文件是WINDOWS-1252
编码
我猜你想在用PHP编写的文件中使用UTF8
。
在编写文件之前尝试转换字符串的编码:
$json = mb_convert_encoding($json, "UTF-8", "WINDOWS-1252");
file_put_contents('../data/cameras.json', $json, LOCK_EX);
答案 1 :(得分:-1)
最常见的问题是.json文件未保存为UTF-8。用记事本打开文件,并将其保存为UTF-8。还要确保您的PHP文件是UTF-8。