【发布时间】:2015-12-04 02:19:01
【问题描述】:
我有一个相当大的数组,我正在尝试使用 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);
谁能告诉我为什么这可能仍然失败?
【问题讨论】:
-
查看以下代码,希望对您有所帮助。
-
你检查下面的答案,它的工作?
-
不幸的是没有工作。我什至尝试按照另一篇文章的建议将 htmlspecialchars() 放入。不过我现在已经开始工作了,我只是把每个 URL 都放在 filter_var($link_to_check, FILTER_VALIDATE_URL)
标签: php json encoding utf-8 character-encoding