本文章转载自:https://www.cnblogs.com/coprince/p/7485968.html

原文如下:

问题描述:从新浪微博抓取消息保存到MySQL数据中,对应数据库字段为varchar,字符编码utf-8。部分插入成功,部分插入失败,报错如标题。

在网上查询,有人说是编码问题,建议修改编码格式,比如改成gbk,UTF-8,blob等等,但是几乎没有人给出更详细的答案。在一个英文网站上,才发现真正错误的原因。链接1 链接2

错误原因:我们可以看到错误提示中的字符0xF0 0x9F 0x98 0x84 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范)。正常的汉字一般不会超过3个字节,为什么为出现4个字节呢?实际上是它对应的是智能手机输入法中的表情。那为什么会报错呢?因为mysql中的utf-8并不是真正意义上的utf-8,它只能存储1~3个字节长度的utf-8编码,如果想存储4个字节的必须用utf8mb4类型。不而要使用utf8mb4类型,首先要保证Mysql版本要不低于 MySQL 5.5.3。

解决方案:

1)使用utf8mb4数据类型

要用这种策略,如果MySql版本低于5.5.3,首先要进行版本升级,然后将对应的数据类型改为utf8mb4类型。如果使用的是Connector/J 连接数据库,需要在配置中把编码格式改为utf8mb4(set character_set_server=utf8mb4 in the connection config)。

2)自定义过滤规则,将文本中出现的四字节UTF-8字符过滤或转化为自定义类型。

下面是将4字节字符转化为0000的测试例子。

for (int i = 0; i < b_text.length; i++)

{if((b_text[i] & 0xF8)== 0xF0){for (int j = 0; j < 4; j++) {

b_text[i+j]=0x3f;

}

i+=3;

}

}

这就是微学网-程序员之家为你提供的"mysql存储4字节的表情包数据报异常_Emoji表情包_Incorrect string value: "希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/9027.html

eomj表情 mysql_mysql存储4字节的表情包数据报异常_Emoji表情包_Incorrect string value: #3...相关推荐

  1. mysql 表情符串_mysql支持emoji表情符存储

    一.教你如何让数据库支持emoji表情符存储 解决方式: 更换字符集utf8-->utf8mb4 问题描述: 前台应用抓取微博信息,每天总有几条数据插入不成功.应用日志显示: java.sql. ...

  2. oracle数据库中的系统自带表情_教你如何让数据库支持emoji表情符存储

    一.教你如何让数据库支持emoji表情符存储 解决方式: 更换字符集utf8-->utf8mb4 问题描述: 前台应用抓取微博信息,每天总有几条数据插入不成功.应用日志显示: java.sql. ...

  3. mysql存储emoji表情_MySQL中支持emoji表情的存储

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  4. mysql存储ios表情_MySQL中支持emoji表情的存储

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  5. MySQL中关于emoji表情的存储(微信登录出现登录失败【由于微信昵称字符问题】)

    MySQL中关于emoji表情的存储(微信登录出现登录失败[由于微信昵称字符问题]) 问题描述 解决方法 闲谈 问题描述 今天网站遇到用户说登录失败,查看日志发现是微信登录自动生成用户时,用户创建失败 ...

  6. mysql 对表情进行编码_emoji 表情与MySQL编码问题

    Emoji,这些能够表达情感的小卡通图像已经成为现代交流中不可或缺的一部分,以至于emoji这一单词已经在2015年被正式收入韦氏词典和牛津词典.说到emoji的诞生,这里还有一个很有趣的小故事: 1 ...

  7. python恶搞表情包-Python自动生成表情包,python在手,从此斗图无敌手

    作为一个数据分析师,应该信奉一句话----"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态----表情包!!!! 表情包不仅仅是一种符号,更是一种文化:是促 ...

  8. 人生苦短我学python表情包_Python自动生成表情包

    原标题:Python自动生成表情包 源| 创业智库文| 唐一 作为一个数据分析师,应该信奉一句话----"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态-- ...

  9. 日历对象导哪个包_微信新表情瞬间炸裂,文物表情包永恒萌呆!

    11月18日晚微信上架了6个全新表情瞬间炸裂网友一天时间阅读达16.2亿,讨论15.8万次 #微信新表情#话题 翻白眼.666.让我看看 叹气.苦涩.裂开微信新表情虽然666但文物表情包的呆萌也能让人 ...

最新文章

  1. binutils工具集用法
  2. 用这个Python库,训练你的模型成为下一个街头霸王!
  3. 链路聚合_rhel7下的链路聚合配置
  4. 聚类分析matlab检验,「matlab聚类分析」聚类分析的Matlab 程序—系统聚类(附有案例分析) - 金橙教程网...
  5. Tesseract-OCR 字符识别-样书训练
  6. angr学习笔记(7)(malloc地址单元符号化)
  7. 小学三年级计算机导学案,小学三年级学科导学案.doc
  8. 等了一年终于要来了 电影《八佰》定档8月21日全国上映
  9. 06:校门外的树【一维数组】
  10. 苹果6s最大屏幕尺寸_iPhone 6s:经典的小屏旗舰,百元价位也能做苹果党
  11. Mac IDA单步调试本地程序
  12. 【算法笔记】马拉车算法:最长回文子串
  13. 微信公众号认证流程-微信公众号使用教程3
  14. Redis 源码简洁剖析 - SDS 字符串
  15. linux的目录以及作用
  16. 详解示波器的三个主要参数:采样率,存储深度,带宽
  17. linux下的web服务器压力测试工具之ab
  18. 如何解决读写txt文件中文乱码问题
  19. 一部手机全搞定,抖音发工资了,一共2千多,方法人人可以用
  20. HCIP-DATACOM H12-831(161-180)

热门文章

  1. 【活动(北京)】Global Azure Bootcamp
  2. Orleans的集群构建
  3. .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
  4. 使用 C# 运行符号测试
  5. 过多提交(Over Posting)
  6. 回顾微软近年来对于Linux和开源的策略
  7. 【经典回放】多种语言系列数据结构算法:二叉树(C#版)
  8. ArcGIS升级地理数据库
  9. C#窗体的Load事件与Shown事件的区别
  10. 判断一棵树是否为平衡二叉树