mysql 插入数据时,出现“\xF0\x9F\x8D\x80\xE5\xB0“这种情况的处理!
问题
Incorrect string value: ‘\xF0\x9F\x8D\x80\xE5\xB0…’ for column ‘question’ at row 1
我们知道设置数据库编码格式,表编码格式和字段编码格式的时候,一般设置为“utf-8”,这对于汉字来说足够了,在mysql中utf8占3个字节,但是对于移动端的特殊表情符号来说,三个字节是不够的,他需要四个字节。这个时候我们使用utf8就会出现‘\xF0\x9F\x8F\x80’的问题。
解决方法
1. 可以对4字节的字符进行编码存储,然后取出来的时候,再进行解码。但是这样做会使得任何使用该字符的地方都要进行编码与解码。
2. 更改数据库的编码为utf8mb4:utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。
采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。
需要改数据库表的编码格式,将至修改为utf8mb4. mysql版本5.5.3之前支持utf8三个字节,5.5.3之后支持utf8mb4四个字节。mysql -V 查看版本,如果版本过低,先升级。
修改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'
重启数据库
mysql 插入数据时,出现“\xF0\x9F\x8D\x80\xE5\xB0“这种情况的处理!相关推荐
- Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 问题解决方案
一.前言 今天生产上出现一个问题,更新数据库的时候,没有更新成功,经过定位问题,发现是update的sql报错了. 错误信息是: Mysql:Incorrect string value: '\xF0 ...
- MySQL 插入数据时,中文乱码问题的解决
MySQL 插入数据时,中文乱码问题的解决 参考文章: (1)MySQL 插入数据时,中文乱码问题的解决 (2)https://www.cnblogs.com/sunzn/archive/2013/0 ...
- Python连接mysql,插入数据时不报错,但是没有插入进去
Python连接mysql,插入数据时不报错,但是没有插入进去在connect方法中,设置 autocommit =True conn=pymysql.connect(host=host_db,use ...
- mysql 插入数据时,出现\xF0\x9F\x8F\x80这种情况的处理!
问题 Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F-' for column 'question' at row 1 我们知道设置数据库编码格式, ...
- 记一次解决Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 插入emoji表情报错问题
近日在插入mysql数据时,报了一个错'\xF0\x9F\x8E\x80Sa...'的错误,导致数据插入不进去.一看字段名是存储微信昵称的字段,想到的可能是有什么表情符号插入不进去. 通常情况,Mys ...
- mysql 插入数据时,出现\xF0\x5F\x6F\x70问题
背景 下午在做测试的时候,测试环境突然报插入数据库 Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F-' for column 'question' ...
- 解决Mysql:Incorrect string value: '\xF0\x9F\x8D\x83\xF0\x9F...' for column
1.异常 java.sql.BatchUpdateException: Incorrect string value: '\xF0\x9F\x8D\x83\xF0\x9F...' for column ...
- Mybatis + Mysql 插入数据时中文乱码问题
今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱码,一般有两种情况: 数据库本身设置 连接数据库时,jdbc的编码设置 对于第 ...
- mybatis mysql 中文乱码_Mybatis + Mysql 插入数据时中文乱码问题
近日跟朋友一起建立一个项目,用的是spring+mybatis+mysql. 今天碰到一个mybatis向mysql中插入数据时,中文显示为'???'的问题,拿出来说下. 对于数据库操作中出现的中文乱 ...
最新文章
- LookupError: unknown encoding: uft-8
- C++Builder及VC的库相互调用
- 计算机office软件改为中文,计算机预装正版Office如何更改为64位程序
- python for everybody课程作业_Programming for Everybody (Python)-Lecture 7 课程笔记
- python变量名包括_Python – 获取全局范围内对象的所有变量名
- boost::phoenix::if_else相关的测试程序
- 海啸(二维前缀和/二维树状数组)
- OpenShift 4 - DevSecOps (1) - 安装 DevOps 环境
- 李洪强iOS开发之Foundation框架—结构体
- android php 项目代码混淆,Android Studio配置反混淆的实现
- 我读研期间通过实习和比赛收入五十万
- .net 2.0 只读TextBox取值问题
- 提取html中的音频文件,如何将网页中的音频文件提取出来
- 【夏虫语冰】visio2013安装出错,您输入的产品密钥无法在此计算机上使用,错误25004
- 10分钟JAVA从入门到放弃
- android blowfish加密算法,blowfish 现在哪种加密算法安全?A
- OpenCV——图像细化算法
- 利用高德地图周边搜索api获取不同类型的餐厅推荐
- Transformer靠什么基因,得以闯入CV界秒杀CNN?
- Win10系统任务栏图标显示白色方块的解决方法