mysql服务器操作字符集_mysql8 参考手册--服务器字符集配置

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

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

如果您的程序使用错误的路径来确定字符集的存储位置(通常 是MySQL安装目录下的share/mysql/charsets或 share/charsets目录),则可以--character-sets-dir在运行程序时通过使用选项来解决此问题 。例如,要指定MySQL客户端程序要使用的目录[client],请在选项文件的组中列出该 目录。此处给出的示例分别显示了Unix或Windows的设置:

[client]

character-sets-dir=/usr/local/mysql/share/mysql/charsets

[client]

character-sets-dir="C:/Program Files/MySQL/MySQL Server 8.0/share/charsets"

如果字符集是无法动态加载的复杂字符集,则必须在支持该字符集的情况下重新编译程序。

对于Unicode字符集,您可以使用LDML表示法定义排序规则,而无需重新编译。

如果字符集是动态字符集,但是您没有针对它的配置文件,则应该从新的MySQL发行版中安装字符集的配置文件。

如果您的字符集索引文件(Index.xml)不包含该字符集的名称,则程序将显示错误消息:

Character set 'charset_name' is not a compiled character set and is not

specified in the '/usr/share/mysql/charsets/Index.xml' file

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

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

[client]

default-character-set=charset_name

这通常是不必要的。但是,当字符集系统不同于字符集服务器或字符集客户端,并且您手动输入字符(作为数据库对象标识符、列值或两者)时,这些字符可能在客户端的输出中显示不正确,或者输出本身的格式可能不正确。在这种情况下,使用--default character set=system_character_set启动mysql客户机—也就是说,将客户机字符集设置为与系统字符集匹配应该可以解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值