MySQL插入中文问题!

我在MySQL建了一个表categories,结构见下:

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(128) | YES  | UNI | NULL    |                |
+-------+--------------+------+-----+---------+----------------

然而我插入中文的时候,会报错:

mysql> insert into categories(name) values('测试');
ERROR 1062 (23000): Duplicate entry '??' for key 'name'

但是插入英文不会报错:

mysql> insert into categories(name) values('test');
Query OK, 1 row affected (0.01 sec)

我的MySQL字符集设置如下:

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

这个问题如何解决啊?

阅读 2.3k
3 个回答

character_set_database 设置成utf8

跟字符集和中文半毛钱关系也没有好吗

提示都说了:

Duplicated entry

说明你的 UNIQUE 字段重复了!

学会解读错误啊少年

新手上路,请多包涵

楼主您好,我也遇到相同的问题了,请问您还记得当时是怎么解决的吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏