PHP Malformed UTF-8 characters 问题收集与解决办法

1、

在使用Yii2的Model取数据时,有些数据会出现 Malformed UTF-8 characters 错误,排查了好久,也没有搜索到答案。

经过数据对比分析,当数据库中的某个字段类型为 varbinary 且值不为空的时候,用 json_encode 就会出错,我是用的 varbinary 存储IP,自己都没注意这个问题。

所以,在 json_encode 之前,使用

$data['last_ip'] = inet_ntop($data['last_ip']);

将数据转换后在输出,问题就解决了,希望对大家有所帮助吧,同时自己也记一下,防止以后再遇到这样的问题浪费时间。

收集于 子非吾的博文: https://blog.csdn.net/qq940390/article/details/107245619/

2、使用 substr 函数处理有空格的字符串时,也会出现 Malformed UTF-8 characters 错误

解决方法是,使用 str_replace 去掉空格,再使用  substr 函数

猜你喜欢

转载自blog.csdn.net/nk90875/article/details/113066153