Php json_encode因字符错误而崩溃
我有一个数组。每个内部数组都有字符串元素 其中一个字符串包含:– 这导致 带有消息“警告[2]的异常“phperroreException” json_encode():参数中的UTF-8序列无效Php json_encode因字符错误而崩溃,php,json,character-encoding,Php,Json,Character Encoding,我有一个数组。每个内部数组都有字符串元素 其中一个字符串包含:– 这导致 带有消息“警告[2]的异常“phperroreException” json_encode():参数中的UTF-8序列无效 当我调用json\u encode时。如果字符不存在,则函数调用有效。如何确保json\u encode支持任何字符,或者忽略不支持的字符?我一直在玩弄iconv和各种转换,但都没有用。在传递到json\u encode之前,您是否尝试过迭代数组并对其中的每个字符串运行htmlentities 如果问
当我调用
json\u encode
时。如果字符不存在,则函数调用有效。如何确保json\u encode
支持任何字符,或者忽略不支持的字符?我一直在玩弄iconv
和各种转换,但都没有用。在传递到json\u encode
之前,您是否尝试过迭代数组并对其中的每个字符串运行htmlentities
如果问题出在破折号上,那么html编码可能会有所帮助(尽管破折号有几种不同的类型,因此了解PHP所使用的破折号会有所帮助)
正如下面所指出的,可能需要
ENT\u替换
(PHP5.4+)您正在使用的en dash
。请看
为什么不尝试使用这个字符
–
及其对应的HTML编号–代码>你能更具体一点吗?json_编码(htmlentities($source))
如果这不起作用,您可以发布一个您遇到错误的JSON示例吗?JSON_encode(htmlentities($source))将不适用于问题中指定的数组数组。我们必须对数组数组中的每个字符串执行此操作。我已经指定了有问题的字符。尝试使用数组(0=>数组(0=>“–”);不需要确切的例子。问题是某些字符不受支持。我们不应该沉浸在细节中。我们需要一些细节。。。。您如何运行json_encode?你是在循环你的数组吗?您确定PHP失败的破折号字符与上面键入的破折号字符相同吗?没有一个确切的例子,我不知道你的代码是失败的!