• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

thinkphp Malformed UTF-8 characters, possibly incorrectly encoded报错解决方案

武飞扬头像
proceed_q
帮助1

我在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);

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

这篇好文章是转载于:编程之路

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 编程之路
  • 本文地址: /boutique/detail/tanhhfkaig
系列文章
更多 icon
同类精品
更多 icon
继续加载