字节数与字符数mysql_mysql里一个中文汉字占多少字节数?

在mysql中,如果是latin1字符集下,一个中文汉字占2个字节数;如果是utf8字符集下,一个中文汉字占3个字节数;如果是gbk字符集下,一个中文汉字占2个字节数。

 

mysql各字符集下汉字和字母占字节数

varchar(N), 这里的N是指字符数,并不是字节数.占用的字节数与编码有关

在mysql 5.1.5-alpha下测试得出如下结论

latin1:

1character=1byte, 1汉字=2character,

也就是说一个字段定义成 varchar(200),则它可以存储100个汉字或者200个字母。

这一点要注意,尤其是当字段内容是字母和汉字组成时,尽量假设字段内容都是由汉字组成,据此来设置字段长度

utf8:

1character=3bytes, 1汉字=1character

也就是说一个字段定义成 varchar(200),则它可以存储200个汉字或者200个字母。

gbk:

1character=2bytes,1汉字=1character

也就是说一个字段定义成 varchar(200),则它可以存储200个汉字或者200个字母。

 

也查阅了一下网上的答案:

字节数与字符数mysql_mysql里一个中文汉字占多少字节数?

也就是version4之前,按字节;

version5之后,按字符。

字节数与字符数mysql_mysql里一个中文汉字占多少字节数?

上一篇:对于MySQL远程连接中出现的一个问题总结


下一篇:09 spark连接mysql数据库