thinkphp Malformed UTF-8 characters, possibly incorrectly encoded报错解决方案
2022-11-24 11:10:29
275
{{single.collect_count}}

我在ajax请求的时候后端返回数据是return json($data)时,报错:Malformed UTF-8 characters, possibly incorrectly encoded。

原因:数组中存在非UTF-8的字符。

data为一个数组无法直接mb_convert_encoding。json_encode,base_encode都无法转换

解决方案:

/** * 数据中存在特殊字符无法直接json编码,先序列化字符 * 再转码,转码后反序列化最后json编码 */ // data为一个数组无法直接mb_convert_encoding。json_encode,base_encode都无法转换$data = serialize($data);$data = mb_convert_encoding($data, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5' );$data = unserialize($data);return json($data);

到此文章就结束了,有什么疑问大家可以留言@我

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}