我需要向MySQL服务器添加一个自定义字符集以增强搜索体验,我实际上能够做到但是进入utf8_charset而不是mb4版本。我甚至无法在MySQL documentation中找到关于mb4
的任何内容正如他们在文档中提到的那样,我编辑了文件/usr/share/MySQL/charsets/Index.xml
,并在<charset name="utf8">
下添加了我的子集,因为我找不到utf8mb4
的任何子集
<collation name="utf8_arabic_ci" id="1029">
<rules>
<reset>\u0627</reset> <!-- Alef 'ا' -->
<i>\u0623</i> <!-- Alef With Hamza Above 'أ' -->
<i>\u0625</i> <!-- Alef With Hamza Below 'إ' -->
<i>\u0622</i> <!-- Alef With Madda Above 'آ' -->
</rules>
<rules>
<reset>\u0629</reset> <!-- Teh Marbuta 'ة' -->
<i>\u0647</i> <!-- Heh 'ه' -->
</rules>
<rules>
<reset>\u0000</reset> <!-- Ignore Tashkil -->
<i>\u064E</i> <!-- Fatha 'َ' -->
<i>\u064F</i> <!-- Damma 'ُ' -->
<i>\u0650</i> <!-- Kasra 'ِ' -->
<i>\u0651</i> <!-- Shadda 'ّ' -->
<i>\u064F</i> <!-- Sukun 'ْ' -->
<i>\u064B</i> <!-- Fathatan 'ً' -->
<i>\u064C</i> <!-- Dammatan 'ٌ' -->
<i>\u064D</i> <!-- Kasratan 'ٍ' -->
</rules>
</collation>
并且它的功能与魅力一样,但是,我无法更改我的整个数据库列碰撞,以便从utf8mb4_unicode_ci
到utf8_unicode_ci
甚至我的自定义utf8_arabic_ci