PHP json_encode变音符

问题描述

我正在从HTTP API获取json字符串。内容类型为Content-Type:application / json; charset = UTF-8。

然后我继续使用将字符串写入文件

fwrite($fp,json_encode($post));

字符串包含变音符号的编码,如下所示。

Au \ u00dfenministerium v​​erh \ u00e4ngte Reisewarnung f \ u00fcr Kroatien in 卡夫(Kraft)getreten。

应该是。

在卡夫的农牧民歌剧院 搞定。

如何编码字符串以将变音符号写入文件而不是编码?

我尝试了以下方法

<?PHP
$string = "Au\u00dfenministerium verh\u00e4ngte Reisewarnung f\u00fcr Kroatien in Kraft getreten.";
$string = utf8_encode($string);
echo $string;

此脚本的输出显示编码。

解决方法

这是JSON_UNESCAPED_UNICODE函数的默认行为,但是您可以通过指定json_encode("Außenministerium",JSON_UNESCAPED_UNICODE); 选项来覆盖此行为。例如:

fwrite($fp,json_encode($post,JSON_UNESCAPED_UNICODE));

在代码中,您应该这样做:

brew uninstall mongodb-community

还要查看您可以在documentation

中使用哪些其他选项