Advertisement

数据库系统与编码技术

阅读量:

以 MySQL 作为实例。在该数据库系统中,所采用的 utf8 编码实际上并非完整的 UTF-8 标准,而是被称为 utf8mb3 的编码方式。utf8mb3 仅能支持位于 0~65535 范围内的 BMP 平面字符,每个字符最多占用 3 个字节,因此对于部分较为生僻的汉字以及 emoji 表情符号则无法兼容。

以 MySQL 作为实例。在该数据库系统中,所采用的 utf8 编码实际上并非完整的 UTF-8 标准,而是被称为 utf8mb3 的编码方式。utf8mb3 仅能支持位于 0~65535 范围内的 BMP 平面字符,每个字符最多占用 3 个字节,因此对于部分较为生僻的汉字以及 emoji 表情符号则无法兼容。

这种限制将引发何种影响?若数据库采用的是 utf8mb3 编码格式,在尝试插入某些需要占用 4 字节存储空间的字符时,系统将会触发错误提示:

复制代码
    insert into t (name) value('😂')
    SQL 错误 [1366] [HY000]: Incorrect string value: '\xF0\x9F\x98\x82' for column 'name' at row 1
    
    insert into t (name) value('𡋾')
    SQL 错误 [1366] [HY000]: Incor

全部评论 (0)

还没有任何评论哟~