首页 > 数据库 > mysql教程 > VARCHAR 长度如何在 MySQL 中使用 UTF-8:字节或字符?

VARCHAR 长度如何在 MySQL 中使用 UTF-8:字节或字符?

Barbara Streisand
发布: 2024-11-22 02:21:13
原创
597 人浏览过

How do VARCHAR lengths work in MySQL with UTF-8: Bytes or Characters?

MySQL VARCHAR 长度和 UTF-8:字节与字符

在 MySQL 表中创建 VARCHAR 字段时,了解如何使用 VARCHAR 字段至关重要解释指定的长度。在 4.1 之前的 MySQL 版本中,VARCHAR 长度以字节为单位定义。但是,从 MySQL 4.1 开始,长度以字符为单位计算。

UTF-8 表中的 VARCHAR(32) 字段表示 32 个字符,而不是 32 个字节。这是因为 UTF-8 是一种变长编码,每个字符可以占用多个字节(最多 4 个字节)。

版本 5 的 MySQL 官方文档指出:

“MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR 和 TEXT 类型。”

但是,VARCHAR 的最大长度。列也受到 UTF-8 的影响。在 MySQL 5.0.3 及更高版本中,有效最大长度受到行大小(65,535 字节)和使用的字符集的限制。

例如,由于 UTF-8 字符每个字符最多需要 3 个字节,使用 UTF-8 的 VARCHAR 列最多可以声明 21,844 个字符。这是因为 21,844 乘以 3(每个字符的字节数)为 65,532,在最大行大小内为其他列数据留下了 3 个字节的缓冲区。

以上是VARCHAR 长度如何在 MySQL 中使用 UTF-8:字节或字符?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板