问一个基础问题

字段类型varchar 长度是10,是不是能储存 gbk字符集的5个汉字或10个英文字母/数字?

作者: jellday   发布时间: 2011-05-15

看你的字符集设置是什么,如果表中这个字段的字符集是 gbk ,则可以存储 10个字母或汉字。

作者: ACMAIN_CHM   发布时间: 2011-05-15

关于字符集的知识请参考下贴中的介绍部分。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

作者: ACMAIN_CHM   发布时间: 2011-05-15

和你使用得字符集有关,gbk得varchar(10)可以保存10个汉字

CHAR和VARCHAR类型声明的长度表示你想要保存的最大字符数。例如,CHAR(30)可以占用30个字符。

CHAR列的长度固定为创建表时声明的长度。长度可以为从0到255的任何值。当保存CHAR值时,在它们的右边填充空格以达到指定的长度。当检索到CHAR值时,尾部的空格被删除掉。在存储或检索过程中不进行大小写转换。

VARCHAR列中的值为可变长字符串。长度可以指定为0到65,535之间的值。(VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节)。

同CHAR对比,VARCHAR值保存时只保存需要的字符数,另加一个字节来记录长度(如果列声明的长度超过255,则使用两个字节)。

VARCHAR值保存时不进行填充。当值保存和检索时尾部的空格仍保留,符合标准SQL。

作者: rucypli   发布时间: 2011-05-15