mysql支持表情

        在实际开发中,可能有的地方会需要用到表情,例如我们使用mysql作为rds来存储,如果不做任何处理的时候,当你向mysql插入包含有表情的文本时,会报"Incorrect String '\F0\F8'"等错误,其实原因是我们的数据库通常都是utf8编码,支持三个字节的字符串,而表情是四个字节一编码的。这个时候就可以用utf8编码的扩展utf8mb4编码来解决这个问题。

        1.将数据库表的字符集设置为utf8mb4,

           alter table test1 convert to character set utf8mb4;

       2.在程序的客户端设置连接池的初始化sql,使连接的客户端的编码集设置为utf8mb4

         dataSource.setInitSql("set names utf8mb4");

扩展:为什么mysql会需要专门来处理表情,而redis不需要?

      因为mysql是按照字符进行编码的,而一个字符包含几个字节是由不同的编码集来决定的,

      而redis是按照字节进行编码的,所以也就不会存在需要对表情进行特殊处理了。

发布了91 篇原创文章 · 获赞 13 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_41751625/article/details/99169709