Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说在数据库中一个汉字到底占几个字节啊_gbk编码汉字占几个字节,希望能够帮助你!!!。
首先要知道,一个汉字在MySQL中占几个字节是跟编码方式有关的
GBK编码:一个汉字占2个字节
UTF-8编码:一个汉字占3个字节
一般数据库设置的编码格式都是UTF-8,那就以UTF-8为例,varchar(10)只能存3个汉字吗?答案是不一定。
根据数据库不同而不同
mysql数据库varchar是以字符为单位的,一个汉字即一个字符,varchar(10)能存10个汉字,占30个字节。
CREATE TABLE `account` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`balance` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
超过10个字符报错
oracle数据库varchar2是以字节为单位的,varchar2(10)表示能存10个字节,一个汉字占3个字节,所以最多能存3个汉字。
如果是字母那就都一样了,一个字母在mysql数据库中占一个字符,在oracle数据库中占一个字节
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。