Mysql数据库insert中文时的错误,请帮助分析!
Mysql的字符集都设置为"utf8",建立表后,向表插入字母都没有错,插入中文就提示"Data too long for column *******"。
请各位帮忙解决。
如下是Mysql的字符集
mysql> show variables like "%set%";
+--------------------------+-------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------+
| auto_increment_offset | 1 |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL Server 5.0\share\charsets\ |
+--------------------------+-------------------------------------+
9 rows in set (0.00 sec)
创建数据表
mysql> CREATE TABLE test (
-> a CHAR(10),
-> b varCHAR(20),
-> PRIMARY KEY (a)
-> );
Query OK, 0 rows affected (0.15 sec)
向表中插入数据
1 不含中文
mysql> insert into test (a,b) values ('chinese','a');
Query OK, 1 row affected (0.04 sec)
2 含中文
mysql> insert into test (a,b) values ('chinesea','你好');
ERROR 1406 (22001): Data too long for column 'b' at row 1