mysql 存微信表情_MySQL保存 emoji 表情(微信昵称表情)
问题分析
在微信开发过程中,总是会遇到带有emoji表情昵称的微信用户无法自动登录的问题。
后台代码抛出类似下面的异常信息。
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for colum n 'name' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581)
原来emoji表情是占4个字节的,但是在MySQL中UTF-8字符只是占3个字节,这就导致MySQL数据库无法保存emoji表情了。
解决方法
既然知道了原因,那么解决方法也就产生了。
**只要让MySQL的字符占4个字节就成了。**恰好MySQL5.5.3 以后的版本都有 utf8mb4 这种字符集,它每个字符占4个字节,满足保存emoji表情的需要。
现在目标是将MySQL数据库有原来的字符集修改为 utf8mb4。
1. 修改数据库、表、列的字符集
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE table_name CHANGE column_name VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2. 修改MySQL配置文件 my.cnf(windows下是 my.ini)
[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-connector-x.x.x.jar ,那么mysql-connector的版本必须高于 5.1.13 ,否则不支持 utf8mb4。
来源:https://www.cnblogs.com/lhat/p/9967751.html
mysql 存微信表情_MySQL保存 emoji 表情(微信昵称表情)相关推荐
- mysql存不了表情_mysql保存不了微信表情符emoji问题解决方案
问题描述: 当微信昵称中有emoji表情符时,mysql数据库报更新异常: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x ...
- mysql存带表情的微信昵称_MySQL保存 emoji 表情(微信昵称表情)
问题分析 在微信开发过程中,总是会遇到带有emoji表情昵称的微信用户无法自动登录的问题. 后台代码抛出类似下面的异常信息. java.sql.SQLException: Incorrect stri ...
- php保存emoji表情,php保存emoji表情
最近一个朋友在调用微信接口的时候,获取到的数据保存到数据库失败了,原因是因为里面含有emoji表情,接下来吾爱编程为大家介绍一下关于php保存emoji表情的方法,有需要的小伙伴可以参考一下: 1.保 ...
- 微信视频服务器能保存多久,微信视频动态保存多久(微信背景视频只能一天吗)...
最近微信升级到8.0版本,这个版本的升级变动还是比较大了的,用户可以使用动态表情,还能设置背景视频动态,非常的有意思,一般设置的视频动态好友是可以看得到的,具体怎么使用,下面为大家详细介绍,一般视频都 ...
- mysql 苹果表情_mysql 插入emoji表情的时候报错问题。(苹果手机)
一.问题现象 保存微信用户昵称到数据库,ios用户的昵称包含表情,插入数据库出错. 二.分析 使用JS过滤emoji表情的主要原因:input标签中输入emoji表情,提交表单后插入数据库报错. 原因 ...
- java mysql emoj报错_MySQL插入emoji表情报错 SQLException: Incorrect string value 的两种解决方案...
原因:mysql的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是emoji表情是4个字节,所以存储不了. 第一种方案:修改数据库表字符集 而mysql为了解决这个问题,在5.5.3版本之后 ...
- mysql emoji表情_Mysql支持emoji表情
教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)Mysql 支持 emoji 表情. 更多讨论或者错误提交,也请移步. 1. 前言 最近为博客添加了 ...
- mysql处理emoji表情_Mysql处理emoji表情
在实际开发过程中,涉及到向mysql数据表中insert tweet,很多情况下会报错: 1 org.hibernate.exception.GenericJDBCException: Could n ...
- mysql 过滤emoji表情_MySQL中emoji表情过滤
问题描述 最近在对线上排错过程中发现很多入库时产生的错误日志,表现形态如下 Incorrectstringvalue:'\xF0\x9F\x91\x8D\xE6\x94...'forcolumn'co ...
- mysql存储微信特殊字符_mysql保存微信昵称特殊字符--utf8mb4编码踩坑
最近用datax做两个数据库之间的数据同步,由于两个数据库位于两台服务器上,一个数据库是生产库,一个数据库是本地库.本地库编码格式设置为utf8mb4,但做同步时微信名还是出现了乱码 Incorrec ...
最新文章
- PLM系统的成功实施
- 关于S3C2440扩展SDRAM的地址连线
- struts2中一个表单中提交多个请求(动态调用方法)
- Java不要放弃之路
- 【机器学习】LR的分布式(并行化)实现
- 最大流,最小费用最大流:解析 + 各种板子
- alios是安卓吗_华为洪蒙系统,阿里云OS,到底是不是安卓?
- 很有趣的一道题:找出有毒的瓶子
- 中国ai人工智能发展太快_新的AI计算遥远行星的速度快100,000倍
- 埃森哲发布 2015 年五大 IT 趋势预测
- 怎么打开计算机开机启动菜单,计算机怎么添加多系统启动菜单?电脑添加双系统启动菜单的方法...
- RK3066和AML8726-MX方案对比 频率与功耗 / 性能 / 方案成本
- 花花嬉游团的千岛湖懒人游~~
- 三角形,斜线,表头css实现方法
- ArcGIS Pro脚本工具(6)——修复CAD图层数据源
- DICOM:dcm4che工具包如何压缩dcm文件探讨(前篇)
- nexus学习 五、搭建阿里云代理
- Couchbase 分享 PPT
- 物理CPU与VCPU的关系梳理总结
- AWGN后验估计下的均值与协方差关系(向量和标量形式)
热门文章
- Python自动登录QQ
- 【软件工程】数据库设计说明书
- python语音地图定位_python 利用高德地图定位小区名字
- 3GPP TS 24.301 Release 8 中文版
- php做网站不兼容ie8,快速修复网页在IE8 下的显示兼容问题
- 安装alexa和google play
- MIPS中lw指令运行时间最长
- php进度条实例,JavaScript_一个简单的jquery进度条示例,用jQuery实现的最简单的进度条 - phpStudy...
- 大话中国骨干网(上)(转)
- redis课程视频 黄建宏_Redis从入门到精通 视频教程 下载