Php 使用utf8_编码后,json_编码仍然失败

Php 使用utf8_编码后,json_编码仍然失败,php,json,encoding,utf-8,character-encoding,Php,Json,Encoding,Utf 8,Character Encoding,我有一个相当大的数组,我正试图用php的json_encode函数将其转换为json对象。该数组主要由URL组成,当我打印到文件时,通常为3-10mb。它通常在95%的时间内都能正常工作,但是一些特殊字符潜入其中,导致JSON_编码失败。所以我认为下面的代码可以解决这个问题,但仍然返回JSON\u ERROR\u UTF8 array_walk_recursive($job_return_data, function(&$item, &$key){ $item = utf

我有一个相当大的数组,我正试图用php的json_encode函数将其转换为json对象。该数组主要由URL组成,当我打印到文件时,通常为3-10mb。它通常在95%的时间内都能正常工作,但是一些特殊字符潜入其中,导致JSON_编码失败。所以我认为下面的代码可以解决这个问题,但仍然返回JSON\u ERROR\u UTF8

array_walk_recursive($job_return_data, function(&$item, &$key){
    $item = utf8_encode($item); $key = utf8_encode($key);
});

$job_return_data_json = json_encode($job_return_data);
有人能告诉我为什么这可能仍然失败吗?

试试这段代码

$input = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($input));
$json = json_decode($input);
希望对您有所帮助。

试试这段代码

$input = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($input));
$json = json_decode($input);

希望它能帮助您。

检查下面的代码希望它能帮助您。您检查了下面的答案了吗?很遗憾,它没有工作。我甚至试着按照另一篇帖子的建议,把htmlspecialchars()放进去。我现在已经让它工作了,我只是把每个URL通过filter\u var($link\u to\u check,filter\u VALIDATE\u URL)检查放在代码下面希望它能帮助你。你检查了下面的答案了吗,它工作了吗?不幸的是没有工作。我甚至试着按照另一篇帖子的建议,把htmlspecialchars()放进去。不过我现在已经让它工作了,我只是把每个URL放在filter\u var($link\u to\u check,filter\u VALIDATE\u URL)上