php 解决MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误
在项目中向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 解决MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误的更多相关文章
- 【Mysql】解决插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误
背景: 用户输入的表单里边.存在 手机自带的表情, 在执行插入时候报错 Incorrect string value: '\xF0\x9F\x92\x8BTi...' 错误原因:我们在设置mysql ...
- Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误
一.背景 1.java项目,name含有表情插入到mysql数据库中报错 Incorrect string value: '\xF0\x9F\x92\x8BTi.. 2.解决办法 (1)将字符串中 ...
- mysql插入数据报 (Incorrect string value: '\xB6\xFE' for column 'name' at row 1)
这是我的表结构 mysql> describe students; +--------+---------------------+------+-----+---------+-------- ...
- Mysql向新建表中插入数据, Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'UserName' at row 1
在本地通过MYSQL创建测试表 CREATE Table User ( UserId int not NULL PRIMARY KEY auto_increment, //主键自增 UserName ...
- mysql 插入汉字 异常 Incorrect string value: '\xE8\xA7\x84\xE5\x88\x99' for column 'name'
今天使用mysql出现 Incorrect string value: '\xE8\xA7\x84\xE5\x88\x99' for column 'name' 异常 通过查找问题,发现是字段编码不支 ...
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常
这个问题,原因是UTF-8编码有可能是两个.三个.四个字节.Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去. 我的解决方案是这样的 1.在mysql ...
- 解决mysql插入数据l出现"the table is full"的问题
需要修改Mysql的配置文件my.ini,在[mysqld]下添加/修改两行:tmp_table_size = 256Mmax_heap_table_size = 256M
- mysql 插入汉字异常: Incorrect string value: '\xE8\xB0\xA2\xE9\x9D\x99' for column 'uname' at row 1
该字段编码问题,不支持中文,设置支持中文即可
- Mysql插入数据里有中文字符出现Incorrect string value的错误
问题:Mysql插入数据里有中文字符出现Incorrect string value的错误 描述:CMD里直接敲代码插入数据 提示的部分截取为:ERROR 1366 (HY000): Inco ...
随机推荐
- 【树状数组 离散化】bzoj1573: [Usaco2009 Open]牛绣花cowemb
解方程题! Description Bessie学会了刺绣这种精细的工作.牛们在一片半径为d(1 <= d <= 50000)的圆形布上绣花. 它们一共绣了N (2 <= N < ...
- 【搜索 技巧】Letter gaps
需要一定技巧的搜索题 题目描述 记得做过这样一道题 Ponder This Challenge: In the string CABACB, each letter appears exactly t ...
- 【linux】【mysql】CentOS7安装mysql5.6.26
http://www.cnblogs.com/dreamhome/p/4716425.html linux系统CentOS7到http://mirrors.sohu.com/mysql/下载想 ...
- 关于ajax在微信智能客服管理端的使用
ajax的语法样例: $.ajax({ 'url':url, 'type':'GET', 'dataType':'json', 'data':data, success:function (data) ...
- Experimental considerations
先知 重金属颗粒与气孔大小 气孔位置.密度与开合时间 角质层厚度 意外 叶子第二天掉落 样本没有放冰箱 高光谱仪器损坏 天气下雨/雪 仪器预约 楼顶/实验室门卡提前一天预约 光合仪提前一天预约 ASD ...
- 【SaltStack】通过Master给Minion安装MySQL
一.IP信息说明 [Master] IP: 192.168.236.100 [Minion] IP: 192.168.236.101 二.配置SaltStack 关于SaltStack Master和 ...
- Django中的tags,母版和继承,组件,静态文件相关,自定义simpletag和自定义inclusion_tag
Tags for <ul> {% for user in user_list %} <li>{{ user.name }}</li> {% endfor %} &l ...
- charles-修改发送的接口数据测试页面样式
一.痛点: 1. 界面上数据准确性无法比对 2. 界面上几乎没有可测试数据 3. 消息条数超过99时的显示逻辑验证(难道真的要造100条新的未读消息?) 4. 更换界面图片时必须找相关接 ...
- 【LeetCode】To Lower Case(转换成小写字母)
这道题是LeetCode里的第709道题. 题目要求: 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: ...
- Leetcode 413.等差数列划分
等差数列划分 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9 ...