美文网首页
mysql5.6版本 uft8mb4存储表情的更改记录

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

作者: 学而时习之不易 | 来源:发表于2019-07-19 13:44 被阅读0次

前言

 这次对接的美团外卖 发现美团推送过来的订单中有表情符号。这些表情符号的存储问题,再上一个版本中就发现过。为了最小程度的影响程序,是直接在程序在做了表情过滤的。但是发现新增的表情太多了,而且编码也有千奇百怪的,所以这次索性考虑数据库兼容,在开发环境数据库测试完成后,发现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));//重点设置该参数

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

相关文章

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

    前言  这次对接的美团外卖 发现美团推送过来的订单中有表情符号。这些表情符号的存储问题,再上一个版本中就发现过。为...

  • MYSQL的INNODB 与MYISAM区别

    innodb 简介 innodb 是平衡于可靠性与高性能的通用数据存储引擎,是MYSQL5.6以上版本默认的存储引...

  • MySQL

    索引 InnoDB MySQL5.6版本之后默认引擎是innoDB,以B+树作为索引的数据存储结构。B+数是以B树...

  • 一次MySQL千万级大表的优化过程

    MySQL未优化的案例 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表...

  • 超详细的MySQL5.6安装

    一、MySQL版本的选择 推荐选择MySQL官方版本,且选择MySQL5.6以后的版本。 如选择Percona版本...

  • InnoDB的MVVC

    InnoDB是一个多版本存储引擎:它保存有关已更改行的旧版本的信息,以支持并发和回滚等事务功能。 此信息存储在表空...

  • 在linux下定时备份mysql数据库

    注意mysql版本,在mysql5.6版本之后使用明码的mysql密码会提示: Warning: Using a ...

  • mysql 的mvcc

    mysql mvcc 官方文档 InnoDB是一个多版本存储引擎:它保留有关已更改行的旧版本的信息,以支持事务功能...

  • 维护不了就跑路,然后我被坑了!记一次采坑优化记录

    问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量...

  • MySQL千万级大表优化解决方案

    问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量...

网友评论

      本文标题:mysql5.6版本 uft8mb4存储表情的更改记录

      本文链接:https://www.haomeiwen.com/subject/dkmjlctx.html