我有一个数组数组。每个内部数组都有字符串元素。json_encode因字符崩溃
其中一个字符串包含: -
这会导致消息“警告 [2] json_encode()
异常 'PHPErrorException':无效UTF-8序列中参数
当我打电话json_encode
。如果该字符不存在,则该函数调用起作用。我如何确保json_encode
支持任何字符,或者不支持的字符被忽略?我一直玩iconv
和各种转换,但无济于事。
我有一个数组数组。每个内部数组都有字符串元素。json_encode因字符崩溃
其中一个字符串包含: -
这会导致消息“警告 [2] json_encode()
异常 'PHPErrorException':无效UTF-8序列中参数
当我打电话json_encode
。如果该字符不存在,则该函数调用起作用。我如何确保json_encode
支持任何字符,或者不支持的字符被忽略?我一直玩iconv
和各种转换,但无济于事。
您是否尝试过迭代您的数组并在传递到json_encode
之前对每个字符串运行htmlentities
?
如果问题出在短划线上,那么html编码可能会有所帮助(虽然有几种不同类型的短划线,所以有助于了解PHP具体落在哪个短划线上)。
正如指出的下方,可能需要ENT_SUBSTITUTE
(PHP 5.4+)
您正在使用en dash
。请看here.
为什么不利用这个字符–
和其相应的HTML数–
你能更具体你试试
str_replace()
? –'json_encode(ヶ辆($源));' 如果不工作,你可以发布你得到错误使用JSON的样品。 –
json_encode(htmlentities($ source))不能在问题中指定的数组数组上工作。我们必须为数组数组中的每个字符串执行此操作。 –