MySQL无法存储Emoji表情,IPhone表情问题 。

soゝso 2017-02-22 14:32:32 1608

今天有用户反馈,部分用户使用本站QQ 快捷登录后仍旧显示没登录,导致http://www.sojson.com/httpRequest/  工具使用不了,开始以为是个别用户的浏览器版本问题,尝试了  Chrome  ,  Firefox  等浏览器,还是不行。

然后和发现问题的用户使用Teamview 远程操作,我看线上日志,发现问题:

[ERROR][2017-02-22 13:44:35,624][druid.sql.Statement]{conn-10013, pstmt-30392} execute error. insert into so_xxxx (id, nickname, email, 
      portrait, password, security, 
      create_time, last_login_time,link,intro,address,job,qq,level)
    values (?, ?, ?, 
      ?, ?, ?, 
      ?, ?,
      ?, ?, ?, ?,  ?,?
      )
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x8B\xF0\x9F...' for column 'nickname' at row 1

确定问题了,数据编码问题。进一步查证发现是  Mysql  的Utf-8 编码不支持Emoji IPhone 手机的一些表情符号。

UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。解决方案就是:将Mysql的编码从utf8转换成utf8mb4。(引入语句)

解决方案:

1.修改配置文件。

找到  Mysql  配置文件my.ini 或者是default.ini 配置文件。修改或者添加一下内容。

[mysql]  
default-character-set=utf8mb4  
[mysqld]  
character-set-server=utf8mb4  

或者使用工具如下图

2. 修改环境变量。

root 身份登录  Mysql  ,修改环境变量,将character_set_client, character_set_connection ,character_set_database ,character_set_results ,character_set_server  都修改成  utf8mb4  编码。

3. 将原来的表数据转换为 utf8mb4 编码。

alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; 

OK了,这是iPhone下输入的吻,拼音“wen”就会出来。

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/215.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

相关文章
MySQL无法存储Emoji表情IPhone表情问题
MySQL 分区、分
MySQL数据库存储过程字符集问题,乱码的解决办法
MySQL数据库怎么锁定
Elasticsearch Date类型,时间存储相关说明。
用Elasticsearch构建电商搜索平台,一个极有代性的基础技术架构和算法实践案例
Shiro对Session操作doReadSession、update频繁读取和更新问题说明
Oracle与Mysql删除重复的数据,Oracle和Mysql数据去重复
Shiro 教程,关于最近反应的相关异常问题,解决方法合集。
部署 Docker 前必须问自己的四个问题
最新文章
Springboot + Mybatis,数据库多数据源配置项目Demo【源码下载】 458
Mac mtr 安装并使用,mrt: command not found 53
Elasticsearch 好消息, X-Pack的开源:第一阶段完成 233
文字转语音接口,支持汉字、英语,文字转音频开放接口,还支持翻译播放 122
Java 集成阿里云消息队列,日志消息存储 178
域名备案注意事项,网站域名ICP备案快速通过攻略【干货分享】 184
Spring JPA查询,JPA 根据方法名字查询详细介绍 116
Springboot JPA 执行原生sql ,自定义SQL占位符增加参数 489
Springboot 集成Aliyun MQ消息队列,Aliyun 消息队列配置及代码实现 292
SpringBoot 集成Spring-data-redis,redis对象序列化存储 648
最热文章
Elasticsearch教程(四) elasticsearch head 插件安装和使用 120956
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 78238
Elasticsearch教程(六) elasticsearch Client创建 77074
Elasticsearch教程(八) elasticsearch delete 删除数据(Java) 73148
Elasticsearch教程(二),IK分词器安装 71359
Elasticsearch教程(一),全程直播(小白级别) 60748
Elasticsearch教程(五) elasticsearch Mapping的创建 57952
Elasticsearch教程(三),IK分词器安装 (极速版) 55580
Elasticsearch教程(七) elasticsearch Insert 插入数据(Java) 51675
Elasticsearch权威指南-中文.pdf,Elasticsearch 中文文档下载 44442

骚码加入我们 / 千人QQ群:259217951

入群需要5元,如果没有QQ钱包,可以先Alipay、微信,赞助然后加群主拉进。

二维码生成 来自 >> 二维码生成器

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

正在加载... ...