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

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

今天有用户反馈,部分用户使用本站QQ 快捷登录后仍旧显示没登录,导致https://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 分区、分
MySQL数据库存储过程字符集问题,乱码的解决办法
MySQL数据库怎么锁定
Elasticsearch Date类型,时间存储相关说明。
Java 集成阿里云消息队列,日志消息存储
SpringBoot 集成Spring-data-redis,redis对象序列化存储
又拍云(Upyun)CDN、云存储刷新链接缓存,API实例讲解
阿里云双11活动购买详细说明,阿里云最低86元起一年服务器购买详
又拍云(Upyun)刷新CDN,云存储缓存 —JavaAPI
Mac下Charles-proxy 抓包工具,iPhone 抓包演示
最新文章
使用七牛云存储实现图片API,自动删除图片方案合集 372
神速ICP备案经验分享,ICP备案居然一天就通过了 1607
百度加强推送URL链接,百度SEO强行推送链接JavaScript代码案例讲解。 2648
SOJSON 拓展服务器被DDos攻击了一晚上,是如何解决的? 2865
湖南地区备案“新增网站需提交组网方案或解释说明”,关于备案做简单叙述 2803
企查查你是个什么企业,骗子的帮凶,诈骗的集中营,通过企查查骚扰企业电话不断,为所欲为的企查查 8845
Java爬取百度云观测对网站的检测数据,获取子域名及域名的安全信息 2351
【2020年】百度搜索词获取,获取百度搜索的关键词【真实有效】 6254
Nodejs环境安装,Nodejs环境安装一篇就够了 1609
iOS版淘宝打开提示“您使用的程序是内测版本,将于2020-03-28到期,到期将无法使用,请尽快下载最新版本” 2388
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 422860
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 413913
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 346874
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 298331
免费天气API,天气JSON API,不限次数获取十五天的天气预报 278330
Elasticsearch教程(四) elasticsearch head 插件安装和使用 216098
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 167659
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 133638
Elasticsearch教程(一),全程直播(小白级别) 117007
Elasticsearch教程(五) elasticsearch Mapping的创建 97439

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

入群需要5元为的是没有垃圾广告,如果没有QQ钱包,可以加群主拉进。

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

支付扫码

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

查看我的收藏

正在加载... ...