json_encode 因角色崩溃

json_encode crashes because of a character

我有一个数组。每个内部数组都有字符串元素。

其中一个字符串包含:–

这导致

Exception 'PHPErrorException' with message 'Warning [2] json_encode(): Invalid UTF-8 sequence in argument

当我打电话给 json_encode 时。如果该字符不存在,则函数调用有效。我如何确保 json_encode 支持任何字符,或者忽略不支持的字符?我一直在尝试 iconv 和各种转换,但无济于事。

在传递给 json_encode 之前,您是否尝试过在每个字符串上迭代数组和 运行 htmlentities

如果问题出在破折号上,那么 html 编码可能会有所帮助(虽然有几种不同类型的破折号,因此有助于了解具体 PHP 掉落在哪个破折号上) .

如下所述,可能需要 ENT_SUBSTITUTE (PHP 5.4+)

您正在使用 en dash。请看here.

你为什么不尝试 str_replace() 使用这个字符 及其对应的 HTML 数字 –