我有一个相当大的数组我尝试使用php的json_encode函数转换为json对象。这个数组主要由URL组成,当我print_r到一个文件时,通常是3-10mb。它通常在95%的时间内工作,但是一些特殊字符在那里偷偷摸摸导致JSON_encode失败。所以我认为下面的代码可以解决这个问题,但我仍然会收到JSON_ERROR_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);
有人能告诉我为什么这可能会失败吗?
答案 0 :(得分:0)
试试这段代码,
$input = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($input));
$json = json_decode($input);
希望对你有所帮助。