MySQL Server有一个默认的默认字符集和排序规则。要更改这些默认值,请使用- Character-Set-Server
和- 查看服务器
启动服务器时的选项。看第5.1.6节“服务器命令选项”。归类必须是默认字符集的法律归类。要确定每个字符集可用哪些排序组,请使用展示融合
声明或查询Information_Schema.
拼写
桌子。
如果您尝试使用未编译到二进制文件的字符集,则可能会遇到以下问题:
如果您的程序使用不正确的路径来确定存储字符集的位置(通常是
分享/ mysql / charsets
或者分享/ charsets.
在MySQL安装目录下的目录),可以通过使用此方法来修复- Character-Sets-DIR
选项运行程序时。例如,要指定MySQL客户端程序使用的目录,请列出它[客户]
组中的组。此处给出的示例显示了unix或windows的设置可能是什么样的:[客户]字符集 - dir = / usr / local / mysql / share / mysql / charsets [client]字符集 - dir =“c:/程序文件/ mysql / mysql server 5.7 / share / charsets”
如果字符集是无法动态加载的复杂字符集,则必须重新编译具有对字符集的支持的程序。
对于Unicode字符集,您可以使用LDML表示法定义未经重新编译的离子。看第10.14.4节“将UCA归类添加到Unicode字符集”。
如果字符集是动态字符集,但您没有配置文件,您应该从新的MySQL分发中安装配置文件。
如果您的字符集索引文件(
index.xml.
)不包含字符集的名称,程序显示错误消息:字符集 'charset_name.'不是编译字符集,未在'/usr/share/mysql/charsets/index.xml'文件中指定
要解决此问题,您应该获取新索引文件或手动将任何丢失字符集的名称添加到当前文件。
您可以强制客户端程序使用特定字符集如下:
[客户]默认字符集=charset_name.
这通常是不必要的。但是,当character_set_system.
不同于character_set_server.
或者character_set_client.
,并且您手动输入字符(作为数据库对象标识符,列值或两者),这些可以在客户端输出中不正确显示,或者输出本身可以不正确地格式化。在这种情况下,启动MySQL客户端--default-character-set =
是,设置客户端字符集以匹配系统字符集 - 应解决问题。system_character_set.