微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

json_encode:参数中的UTF-8序列无效

如何解决json_encode:参数中的UTF-8序列无效

好像符号是Å,但由于数据由不应公开的姓氏组成,因此只显示了第一个字母,并由just来完成$lastname[0],这对于多字节字符串是错误的,并造成了整个麻烦。更改为mb_substr($lastname, 0, 1)-就像魅力一样。

解决方法

我正在json_encode()使用utf8_general_ci排序规则调用来自MySQL数据库的数据。问题是某些行包含我无法清除的怪异数据。例如,符号,所以一旦到达json_encode(),它就会失败json_encode(): Invalid UTF-8 sequence in argument

我已经尝试过utf8_encode()utf8_decode(),即使这样做,mb_check_encoding()但它会不断通过并造成严重破坏。

在Mac上运行PHP 5.3.10。因此,问题是-如何清除无效的utf8符号,保留其余数据,以便json_encoding()可行?

更新。这是一种重现它的方法:

echo json_encode(pack("H*",'c32e'));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。