mysql 中 一个汉字吗_MySQL 中一个汉字占多少存储?

MySQL 中一个汉字占多少存储?

1. 一个汉字占多少长度与编码有关:

UTF8: 一个汉字 = 3 个字节

GBK: 一个汉字 = 2 个字节

2.varchar(n)能存储几个汉字?

varchar(n)表示 n 个字符, 无论汉字和英文, MySQL 都能存入 n 个字符, 仅是实际字节长度有所区别

3.MySQL 怎么检查长度?

可用 SQL 语言中 length 函数: select LENGTH(fieldname) from tablename

UTF-8:Unicode Transformation Format-8bit, 允许含 BOM, 但通常不含 BOM. 是用以解决国际上字符的一种多字节编码, 它对英文使用 8 位 (即一个字节), 中文使用 24 为(三个字节) 来编码. UTF-8 包含全世界所有国家需要用到的字符, 是国际编码, 通用性强. UTF-8 编码的文字可以在各国支持 UTF8 字符集的浏览器上显示. 如, 如果是 UTF8 编码, 则在外国人的英文 IE 上也能显示中文, 他们无需下载 IE 的中文语言支持包.

GBK 是国家标准 GB2312 基础上扩容后兼容 GB2312 的标准. GBK 的文字编码是用双字节来表示的, 即不论中, 英文字符均使用双字节来表示, 为了区分中文, 将其最高位都设定成 1.GBK 包含全部中文字符, 是国家编码, 通用性比 UTF8 差, 不过 UTF8 占用的数据库比 GBD 大.

GBK,GB2312 等与 UTF8 之间都必须通过 Unicode 编码才能相互转换:GBK,GB2312-->Unicode-->UTF8

UTF8-->Unicode-->GBK,GB2312

GB2312 是 GBK 的子集, GBK 是 GB18030 的子集

GBK 是包括中日韩字符的大字符集合

为了避免所有乱码问题, 应该采用 UTF-8, 将来要支持国际化也非常方便

UTF8 可以看作是大字符集, 它包含了大部分文字的编码.

使用 UTF8 的一个好处是其他地区的用户 (如香港台湾) 无需安装简体中文支持就能正常观看你的文字而不会出现乱码.

总结:

gb2312 是简体中文的码

gbk 支持简体中文及繁体中文

big5 支持繁体中文

utf8 支持几乎所有字符

来源: http://www.mzh.ren/how-much-storage-does-a-chinese-character-occupy-in-mysql.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值