json抛出无效的UTF-8序列

时间:2014-05-07 20:38:37

标签: php json

我有一台带有php 5.3和2个虚拟主机的ec2服务器:1个dev和1个live。

在开发人员上,如果有人上传了一个错误的UTF-8文件,它会忽略错误并且它不会转换变量。

在实时主机上,它会抛出此错误并停止php脚本:

  

消息:json_encode():参数中的UTF-8序列无效。

我在同一台服务器上获得混合结果的原因是什么?

1 个答案:

答案 0 :(得分:1)

选项1:

也许你没有关于dev的错误报告,但是你现场直播。要测试这个理论,您需要做的就是关闭error_reporting

error_reporting(0);
ini_set('display_errors', 0);

选项2:

您可以尝试使用mb_convert_encoding()自动将'文件'转换为UTF-8。

$file = mb_convert_encoding($file, 'UTF-8');
echo json_encode($file);