Java 中字符串以 Unicode 方式编码的, 其长度通常计算的是字符数,一个中文也算一个字符。
MySql中 varchar(n)类型字段,n所表示的也是字符数,并非字节数,所以字段可以插入<=n个字符。一个字符占用多少字节取决于所使用的字符编码,通常我使用UTF-8,Mysql中一个UTF-8编码的字符占3字节。
CREATE TABLE `group_space` (
`GROUP_ID` decimal(16,0) NOT NULL,
`USER_FILE_ID` decimal(18,0) DEFAULT NULL,
`USER_ID` decimal(20,0) DEFAULT NULL,
`GROUP_SIZE` decimal(10,0) DEFAULT NULL,
`CREATE_TIME` timestamp NULL DEFAULT NULL,
`REVIEW_STATUS` decimal(1,0) DEFAULT NULL,
`GROUP_NAME` varchar(5) DEFAULT NULL,
`LAST_OPTIME` timestamp NULL DEFAULT NULL,
`PUBLIC_LEVEL` decimal(1,0) DEFAULT NULL,
`ENTER_LEVEL` decimal(1,0) DEFAULT NULL,
`GROUP_NUMBER` varchar(20) DEFAULT NULL,
`GROUP_MODEL` decimal(3,0) DEFAULT NULL,
`GROUP_STATUS` decimal(1,0) DEFAULT NULL,
`UNI_CONTACT_ID` decimal(20,0) DEFAULT NULL,
PRIMARY KEY (`GROUP_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中GROUP_NAME字段,长度为5,即可以插入5个字符,utf8编码最长存入15字节。