发布时间:2014-09-05 10:13:16作者:知识屋
在项目中向MySQL插入数据时,发现数据插入不完整,通过调试,发现插入语句也没什么特殊的错误。但是就是差不进去,于是就打开mysqli错误的调试
$ret = mysqli_query($this->conn, $sql) or die(mysqli_error($this->conn));
Incorrect string value: '/xF0/x9F/x92/x8BTi...'
有错误信息就好办了,结果上网一查结果是:mysql编码格式utf-8格式,不支持带四字节的字符串插入。
网上提供两种方法:
1.升级MySQL,然后将对应的数据类型改为utf8mb4类型
2.出现的四字节UTF-8字符过滤或转化为自定义类型
由于装的MySQL版本为5.1,所以方法1不适合;本人选了第二种过滤字符串,变成合适的3字节utf-8
$str = preg_replace('/[/x{10000}-/x{10FFFF}]/u', '', $str);
如果想完美解决的话,最好升级MySql,直接改数据类型为utf8mb4类型
如何对PHP文件进行加密方法 PHP实现加密的几种方式介绍
php生成圆角图片的方法 电脑中php怎么生成圆角图片教程
用PHP构建一个留言本方法步骤 php怎么实现留言板功能
php中三元运算符用法 php中的三元运算符使用说明
php文件如何怎么打开方式介绍 php文件用什么打开方法
PHP怎么插入数据库方法步骤 php编程怎么导入数据库教程
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
PHP 获取远程文件大小的3种解决方法 如何用PHP获取远程大文件的大小
20个实用PHP实例代码 php接口开发实例代码详细介绍
如何架设PHP服务器方法步骤 怎么搭建php服务器简单教程