Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php json抛出无效的UTF-8序列_Php_Json - Fatal编程技术网

Php json抛出无效的UTF-8序列

Php json抛出无效的UTF-8序列,php,json,Php,Json,我有一台带有PHP5.3的ec2服务器和两台虚拟主机:1台dev和1台live 在dev上,如果有人上传了一个带有错误UTF-8的文件,它会忽略错误,并且不会转换变量 在live主机上,它抛出此错误并停止php脚本: 消息:json_encode():参数中的UTF-8序列无效 我在同一台服务器上得到混合结果的原因是什么?选项1: 也许您在dev上没有错误报告,但在live上有。要测试这个理论,你需要做的就是关掉电源 备选案文2: 您可以尝试使用自动将“文件”转换为UTF-8 我认为即使在开发中

我有一台带有PHP5.3的ec2服务器和两台虚拟主机:1台dev和1台live

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

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

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

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

选项1:

也许您在dev上没有错误报告,但在live上有。要测试这个理论,你需要做的就是关掉电源

备选案文2:

您可以尝试使用自动将“文件”转换为UTF-8


我认为即使在开发中,您也会遇到这个问题,但是在开发中,Message的一个错误报告是关闭的,这是因为我有用于开发的ini_集('display_errors',1)和用于Live的ini_集('display_errors',0)。。。但这似乎是倒退。。live不应该忽略错误并显示它吗?
error_reporting(0);
ini_set('display_errors', 0);
$file = mb_convert_encoding($file, 'UTF-8');
echo json_encode($file);