10.15 字符集配置

MySQL 服务器具有内置的默认字符集和排序规则。要更改这些默认值,请在启动服务器时使用--character-set-server--collation-server选项。参见第 5.1.6 节“服务器命令选项”。该排序规则必须是默认字符集的合法排序规则。若要确定每个字符集可用的排序规则,请使用SHOW COLLATION语句或查询INFORMATION_SCHEMA COLLATIONStable。

如果您尝试使用未编译到二进制文件中的字符集,则可能会遇到以下问题:

[client]
character-sets-dir=/usr/local/mysql/share/mysql/charsets

[client]
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.7/share/charsets"

对于 Unicode 字符集,您可以使用 LDMLtable 示法定义排序规则而无需重新编译。参见第 10.14.4 节“将 UCA 归类添加到 Unicode 字符集”

Character set 'charset_name' is not a compiled character set and is not
specified in the '/usr/share/mysql/charsets/Index.xml' file

要解决此问题,您应该获取一个新的索引文件或将任何缺少的字符集的名称手动添加到当前文件中。

您可以强制 Client 端程序使用特定的字符集,如下所示:

[client]
default-character-set=charset_name

通常这是不必要的。但是,当character_set_systemcharacter_set_servercharacter_set_client不同时,如果您手动 Importing 字符(作为数据库对象标识符,列值或两者),则这些字符可能在 Client 端输出中显示不正确,或者输出本身的格式不正确。在这种情况下,使用--default-character-set=system_character_set启动 mysqlClient 端(即,将 Client 端字符集设置为与系统字符集匹配)应该可以解决该问题。

首页