查看“MySQL 字符集:错误消息字符集”的源代码
←
MySQL 字符集:错误消息字符集
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:MySQL]] == 用于构造错误消息的字符集 == 服务器构造错误消息,如下所示: # 消息模板使用 UTF-8(utf8mb3)。 # 消息模板中的参数将替换为适用于特定错误发生的值: ## 表名或列名之类的标识符在内部使用 UTF-8,因此可以照原样复制。 ## 字符(非二进制)字符串值从其字符集转换为 UTF-8. ## 对于 0x20 到 0x7E 范围内的字节,按原样复制二进制字符串值,对于超出该范围的字节,使用 \x 十六进制编码。例如,如果尝试将0x41CF9F插入到“VARBINARY”唯一列中时发生重复键错误,则产生的错误消息将使用 UTF-8,某些字节以十六进制编码: #: <syntaxhighlight lang="xml"> Duplicate entry 'A\xC3\x9F' for key 1 </syntaxhighlight> == 用于处置错误消息的字符集 == 一旦构造了错误消息,服务器就可以将其写入错误日志或发送给 Client 端: # 如果服务器将错误消息写入错误日志,则将其构造为 UTF-8 格式,而不转换为另一个字符集。 # 如果服务器将错误消息发送到 Client 端程序,则服务器会将错误消息从 UTF-8 转换为“character_set_results”系统变量指定的字符集。【如果“character_set_results”的值为“NULL”或“binary”,则不会进行任何转换。如果变量值为“utf8mb3”或“utf8mb4”,则不会进行任何转换,因为这些字符集的库包含了消息构造中使用的所有 UTF-8 字符。】 # 如果不能用“character_set_results”表示字符,则在转换过程中可能会发生一些编码。编码使用 Unicode 码点: ## 基本多语言平面(BMP)范围(0x0000到0xFFFF)中的字符使用\nnnn 表示法编写。 ## BMP 范围之外的字符(0x10000到0x10FFFF)使用\+nnnnnn 表示法书写。 Client 端可以设置“character_set_results”来控制接收错误消息的字符集。该变量可以直接设置,也可以通过诸如“SET NAMES”间接设置。 == 设置编写错误消息的语言 == <pre> 默认情况下,mysqld 会以英语生成错误消息,但可以改用其他几种语言来显示它们:捷克语,丹麦语,荷兰语,爱沙尼亚语,法语,德语,希腊语,匈牙利语,意大利语,日语,韩语,挪威语,挪威语-ny ,波兰语,葡萄牙语,罗马尼亚语,俄语,斯洛伐克语,西班牙语或瑞典语。这适用于服务器写入错误日志并发送给 Client 端的消息。 </pre> 服务器使用以下规则搜索错误消息文件: # 它在由两个系统变量值'''lc_messages_dir'''和'''lc_messages'''构造的目录中查找文件,后者被转换为语言名称。假设您使用以下命令启动服务器: #: <syntaxhighlight lang="xml"> mysqld --lc_messages_dir=/usr/share/mysql --lc_messages=fr_FR </syntaxhighlight> #: 在这种情况下,mysqld 将语言环境“fr_FR”映射到语言“french”并在“/usr/share/mysql/french”目录中查找错误文件。 #* 默认情况下,语言文件位于 MySQL 基本目录下的“share/mysql/LANGUAGE”目录中。【5.7.33 在“share”目录中】 # 如果在如上所述的目录中找不到消息文件,则服务器将忽略“lc_messages”值,而仅使用“lc_messages_dir”值作为查找位置。 #* “lc_messages_dir”系统变量只能在服务器启动时设置,并且在运行时仅具有全局只读值。 #* “lc_messages”可以在服务器启动时设置,并且具有可以在运行时修改的全局值和会话值。因此,可以在服务器运行时更改错误消息语言,并且'''每个 Client 端可以通过将其会话“lc_messages”值设置为所需的语言环境名称来拥有自己的错误消息语言'''。 #*: 例如,如果服务器使用“fr_FR”语言环境来显示错误消息,则 Client 端可以执行以下语句来接收英语的错误消息: #*: '''<syntaxhighlight lang="xml"> SET lc_messages = 'en_US'; </syntaxhighlight>'''
返回至“
MySQL 字符集:错误消息字符集
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息