问题分析

在微信开发过程中,总是会遇到带有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 表情(微信昵称表情)相关推荐

  1. mysql存不了表情_mysql保存不了微信表情符emoji问题解决方案

    问题描述: 当微信昵称中有emoji表情符时,mysql数据库报更新异常: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x ...

  2. mysql存带表情的微信昵称_MySQL保存 emoji 表情(微信昵称表情)

    问题分析 在微信开发过程中,总是会遇到带有emoji表情昵称的微信用户无法自动登录的问题. 后台代码抛出类似下面的异常信息. java.sql.SQLException: Incorrect stri ...

  3. php保存emoji表情,php保存emoji表情

    最近一个朋友在调用微信接口的时候,获取到的数据保存到数据库失败了,原因是因为里面含有emoji表情,接下来吾爱编程为大家介绍一下关于php保存emoji表情的方法,有需要的小伙伴可以参考一下: 1.保 ...

  4. 微信视频服务器能保存多久,微信视频动态保存多久(微信背景视频只能一天吗)...

    最近微信升级到8.0版本,这个版本的升级变动还是比较大了的,用户可以使用动态表情,还能设置背景视频动态,非常的有意思,一般设置的视频动态好友是可以看得到的,具体怎么使用,下面为大家详细介绍,一般视频都 ...

  5. mysql 苹果表情_mysql 插入emoji表情的时候报错问题。(苹果手机)

    一.问题现象 保存微信用户昵称到数据库,ios用户的昵称包含表情,插入数据库出错. 二.分析 使用JS过滤emoji表情的主要原因:input标签中输入emoji表情,提交表单后插入数据库报错. 原因 ...

  6. java mysql emoj报错_MySQL插入emoji表情报错 SQLException: Incorrect string value 的两种解决方案...

    原因:mysql的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是emoji表情是4个字节,所以存储不了. 第一种方案:修改数据库表字符集 而mysql为了解决这个问题,在5.5.3版本之后 ...

  7. mysql emoji表情_Mysql支持emoji表情

    教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)Mysql 支持 emoji 表情. 更多讨论或者错误提交,也请移步. 1. 前言 最近为博客添加了 ...

  8. mysql处理emoji表情_Mysql处理emoji表情

    在实际开发过程中,涉及到向mysql数据表中insert tweet,很多情况下会报错: 1 org.hibernate.exception.GenericJDBCException: Could n ...

  9. mysql 过滤emoji表情_MySQL中emoji表情过滤

    问题描述 最近在对线上排错过程中发现很多入库时产生的错误日志,表现形态如下 Incorrectstringvalue:'\xF0\x9F\x91\x8D\xE6\x94...'forcolumn'co ...

  10. mysql存储微信特殊字符_mysql保存微信昵称特殊字符--utf8mb4编码踩坑

    最近用datax做两个数据库之间的数据同步,由于两个数据库位于两台服务器上,一个数据库是生产库,一个数据库是本地库.本地库编码格式设置为utf8mb4,但做同步时微信名还是出现了乱码 Incorrec ...

最新文章

  1. PLM系统的成功实施
  2. 关于S3C2440扩展SDRAM的地址连线
  3. struts2中一个表单中提交多个请求(动态调用方法)
  4. Java不要放弃之路
  5. 【机器学习】LR的分布式(并行化)实现
  6. 最大流,最小费用最大流:解析 + 各种板子
  7. alios是安卓吗_华为洪蒙系统,阿里云OS,到底是不是安卓?
  8. 很有趣的一道题:找出有毒的瓶子
  9. 中国ai人工智能发展太快_新的AI计算遥远行星的速度快100,000倍
  10. 埃森哲发布 2015 年五大 IT 趋势预测
  11. 怎么打开计算机开机启动菜单,计算机怎么添加多系统启动菜单?电脑添加双系统启动菜单的方法...
  12. RK3066和AML8726-MX方案对比 频率与功耗 / 性能 / 方案成本
  13. 花花嬉游团的千岛湖懒人游~~
  14. 三角形,斜线,表头css实现方法
  15. ArcGIS Pro脚本工具(6)——修复CAD图层数据源
  16. DICOM:dcm4che工具包如何压缩dcm文件探讨(前篇)
  17. nexus学习 五、搭建阿里云代理
  18. Couchbase 分享 PPT
  19. 物理CPU与VCPU的关系梳理总结
  20. AWGN后验估计下的均值与协方差关系(向量和标量形式)

热门文章

  1. Python自动登录QQ
  2. 【软件工程】数据库设计说明书
  3. python语音地图定位_python 利用高德地图定位小区名字
  4. 3GPP TS 24.301 Release 8 中文版
  5. php做网站不兼容ie8,快速修复网页在IE8 下的显示兼容问题
  6. 安装alexa和google play
  7. MIPS中lw指令运行时间最长
  8. php进度条实例,JavaScript_一个简单的jquery进度条示例,用jQuery实现的最简单的进度条 - phpStudy...
  9. 大话中国骨干网(上)(转)
  10. redis课程视频 黄建宏_Redis从入门到精通 视频教程 下载