首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql : utf8mb4 的问题

微信呢称和QQ呢称上有很多火星文和emoji表情图片,这些数据,如果直接insert到mysql数据库,一般会报错,设置成utf8都不好使,必须改成utf8mb4编码,这二者的区别见: mysql utf8mb4...与emoji表情 ,网上的解决办法大多是修改my.cnf参数,设置mysql的编码为utf8mb4,这种方法虽然彻底,但是通常要重启mysql,会造成生产系统临时当机。...下面是影响相对更小的处理方法: 前提:mysql的版本不能太低,低于5.5.3的版本不支持utf8mb4编码。 将表中的对应字段,比如会员表的呢称字段,其字符集修改成utf8mb4。...mysql-connector-java升级成最新版(目前最新版是5.1.37),最后修改druid数据源的配置,增加一行: <property name="connectionInitSqls" value="set names <em>utf8mb4</em>

1.4K100
您找到你想要的搜索结果了吗?
是的
没有找到

Character set utf8mb4 is not a compiled character set

最近在一次MySQL数据迁移的过程中遭遇了字符集的问题,提示为"Character set 'utf8mb4' is not a compiled character set"。...即是字符集utf8mb4不是一个编译的字符集以及没有在Index.xml文件里指定。下面是其处理过程及解决办法,供大家参考。...其次说这个文件里/usr/share/mysql/charsets/Index.xml未指定utf8mb4字符集,需要检查字符集目录设置。...字符集到Index.xml 直接复制utf8的配置,改为utf8mb4后,添加到/app/soft/mysql/share/charsets/Index.xml故障解决。...二是不清楚为什么要添加utf8mb4这个配置到index.xml文件,根本没用到这个字符集。我估计是要全部检测一遍。虽然添加可用了,但是还是感觉不那么可靠。

2.9K10

【转】迁移到 utf8mb4:需要考虑的事项

迁移到utf8mb4有很多优点,包括: 它可以存储更多符号,包括表情符号 它有针对亚洲语言的新排序规则 ​​它比它比utf8mb3快快​​ 不过,您可能想知道迁移如何影响您现有的数据。...存储要求 顾名思义,使用字符集utf8mb4的一个字符可以占用的最大字节数是 4 个字节。这比utf8mb3的要求要大,后者需要三个字节和许多其他 MySQL 字符集。...幸运的是,utf8mb3是 utf8mb4 的子集,现有数据的迁移不会增加存储在磁盘上的数据大小:每个字符根据需要占用多少字节。例如,拉丁字母表中的任何数字或字母都需要一个字节。...因此,当从另一个字符集转换为utf8mb4时,您可能会达到索引存储限制。...结论 转换为utf8mb4字符集可为您带来更好的性能、更大范围的字符可供您使用,包括表情符号和新的排序规则(排序规则)。这种转换几乎没有代价,而且可以顺利完成。

53620

使用“utf8mb4

他们在2010年发布了一个解决方法:一个名为“ utf8mb4 ” 的新字符集。 当然,他们从未公布过这个(可能是因为这个bug太尴尬了)。现在,Web上的指南建议用户使用“utf8”。...简而言之: · MySQL的“utf8mb4”表示“UTF-8”。 · MySQL的“utf8”意味着“专有字符编码”。此编码不能编码许多Unicode字符。...我将在这里做一个彻底的陈述:目前使用“utf8”的所有 MySQL和MariaDB用户实际上应该使用“utf8mb4”。没有人应该使用“utf8”。 什么是编码?什么是UTF-8?...MySQL最终在2010年发布了UTF-8支持,名称不同:“utf8mb4”。 为什么这么令人沮丧 很明显,本周我很沮丧。我的bug很难找到,因为我被“utf8”这个名字所迷惑。...Always use “utf8mb4” when you want UTF-8. Convert your database now to avoid headaches later.

93120

如何更改MySQL数据库的编码为utf8mb4编码

utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。  采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。...更改数据库的编码为utf8mb4: 1. MySQL的版本 utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本。 2....找到后请在以下三部分里添加如下内容:  [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4...将数据库和已经建好的表也转换成utf8mb4 更改数据库编码:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci...总结 以上所述是小编给大家介绍的如何更改MySQL数据库的编码为utf8mb4,希望对大家有所帮助!

2.2K00

如何更改MySQL数据库的编码为utf8mb4

utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。  采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。...更改数据库的编码为utf8mb4: 1. MySQL的版本 utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本。 2....找到后请在以下三部分里添加如下内容:  [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4...将数据库和已经建好的表也转换成utf8mb4 更改数据库编码:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci...总结 以上所述是小编给大家介绍的如何更改MySQL数据库的编码为utf8mb4,希望对大家有所帮助!

3.8K10
领券