查看“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”间接设置。 == 设置错误消息语言 ==
返回至“
MySQL 字符集:错误消息字符集
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息