Mysql 插入 Emoji表情报错 Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
2017-09-15 13:44
771 查看
Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。我的解决方案是这样的
1.在mysql的安装目录下找到my.ini,作如下修改:
[mysqld]character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
修改后重启Mysql
2. 将已经建好的表也转换成utf8mb4
命令:更改数据库编码:ALTER
DATABASE 数据库名 CHARACTER SET
utf8mb4COLLATE
utf8mb4_general_ci;
alter table 表名 convert to character set utf8mb4 collate utf8mb4_bin;
然后就OK了。网上流传的一个版本增加了一个步骤,就是把mysql环境变量将character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4,不过我没有做这一步,也正常,所以可能是这一步是多余的,如果需要改,则按照下面介绍做修改。
3修改mysql配置文件my.cnf(windows为my.ini)
my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容: [client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
参考文章:
http://blog.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.NET/likendsl/article/details/7530979
相关文章推荐
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常 这个问题,原因是UTF-8编码有可
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常
- 【问题解决】MySQL5.5 向MySQL数据库中插入汉字时,提示:Incorrect string value: '\Xe7\x8E...' for column 'XXX' at row 1
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常
- MySQL 执行插入报错 - Incorrect string value: '\xE4\xB8\xAD\xE6\x96\x87' for column 'name' at row 1
- Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
- Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
- node.js插入数据到MySQL时遇到 Incorrect string value: '' for column '' at row 1 ”
- Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
- 中文写入数据库乱码及Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1解决
- 中文写入数据库乱码及Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1解决
- Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
- 该错误的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
- mysql:Incorrect string value: '\xE5\x8C\x97\xE4\xBA\xAC' for column 'address' at row 1
- mysql General error: 1366 Incorrect string value: '\xF0\x9F\x91\x8D\xF0\x9F...' for column 'dianpumiaoshu' at row 1 解决方法
- mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column
- Mysql 无法输入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
- 向mysql插入数据时出现Incorrect string value: '\xEF\xBF\xBD\xE9\x8F\x83...' for column...at row 1
- Incorrect string value: '\xF0\x9F\x92\x90</...' for column 'xxx' at row 1
- Mysql 插入 Emoji表情报错 Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1