美文网首页
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存储表情的更改记录

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