json_encode由于角色而崩溃

时间:2015-01-16 14:41:26

标签: php json character-encoding

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

其中一个字符串包含: -

这会导致

  

异常'PHPErrorException',消息'警告 [2]   json_encode():参数

中的UTF-8序列无效

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

为什么不尝试str_replace()使用此字符及其对应的HTML编号–