mysql5.6版本 uft8mb4存储表情的更改记录

前言

 这次对接的美团外卖 发现美团推送过来的订单中有表情符号。这些表情符号的存储问题,再上一个版本中就发现过。为了最小程度的影响程序,是直接在程序在做了表情过滤的。但是发现新增的表情太多了,而且编码也有千奇百怪的,所以这次索性考虑数据库兼容,在开发环境数据库测试完成后,发现utf8编码转换成utf8mb4没有出现担心的乱码问题,以前mysql低版本出现过,所以转换前还是最后能备份数据。

更改过程

1.数据库更改

 对数据库的编码更改我没有使用sql,因为我数据库管理软件使用了navicat。navicat自带了编码修改工具,还是很方便的。
 首先更改数据库编码


image.png

 然后修改对应的列编码 我这里是没有更改表编码的 如果想整体的修改表编码
再多一步表编码修改即可


image.png

这里排序规则选择了utf8mb4_general_ci 一般会从 utf8mb4_general_ci 和 utf8mb4_unicode_ci里选 我的排序要求没有那么高 一般选utf8mb4_general_ci也就可以了

2.数据库连接池配置更改

 数据连接池使用的是druid。要使用utf8mb4要指定编码。这个编码指定比较特殊

String connectionInitSqls = "SET NAMES utf8mb4";
StringTokenizer tokenizer = new StringTokenizer(connectionInitSqls, ";");
druidDataSource.setConnectionInitSqls(Collections.list(tokenizer));//重点设置该参数

配置好数据库和连接池后即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,984评论 0 9
  • 由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将...
    丶Finley阅读 4,957评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,029评论 6 13
  • 今天下午上完课奔跑在操场时,偏北上空两架战斗机你追我赶,发动机发出刺耳的轰鸣声,抬头瞬间,正好看到低空两只小鸟正在...
    迷彩校尉阅读 3,401评论 0 3
  • 1.算法。“算法”如何与大数据相关?即使算法是一个通用术语,但大数据分析使其在当代更受青睐和流行。 2.分析。年末...
    烽火程序猿阅读 2,507评论 0 0

友情链接更多精彩内容