编码信息为:
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插入数据的情况为:
mysql> insert into user values(2,'asdf');
Query OK, 1 row affected (0.02 sec)mysql> insert into user values(2,'asdf');
Query OK, 1 row affected (0.03 sec)mysql> insert into user values(2,'啊');
ERROR 1366 (HY000): Incorrect string value: '\xB0\xA1' for column 'name' at row
1请问这是怎么回事啊?解决方法是什么?记得用latin1的时候是可以写入汉字的。
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插入数据的情况为:
mysql> insert into user values(2,'asdf');
Query OK, 1 row affected (0.02 sec)mysql> insert into user values(2,'asdf');
Query OK, 1 row affected (0.03 sec)mysql> insert into user values(2,'啊');
ERROR 1366 (HY000): Incorrect string value: '\xB0\xA1' for column 'name' at row
1请问这是怎么回事啊?解决方法是什么?记得用latin1的时候是可以写入汉字的。
insert into user values(2,'啊');
然后再试一下。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
set names utf8
or
set names gbk
试试
mysql> set names utf8;
Query OK, 0 rows affected (0.02 sec)mysql> insert into user values(5,'这');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xE2' for column 'name' at row
1
mysql>
set names gbk;
mysql> show variables like 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
修要向如下修改:
mysql> set collation_connection=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_database=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_server=utf8;
Query OK, 0 rows affected (0.01 sec)
-----------------------------------------------------------
Database home directory 下面的db.opt这个文件也需要修改 ,如下:
mysql> create database mysqldb;
Query OK, 1 row affected (0.00 sec)
mysql> exit
[root@mysqlap bin]# vi /var/lib/mysql/mysqldb/db.opt
default-character-set=latin1
default-collation=latin1_swedish_ci
改成下面的:
default-character-set=utf8
default-collation=utf8_general_ci
重新启动服务器(注意在更改字符集之前,建的所有表都需要重建,这一动作不会对已经建好的表起作用):
MySQL server restart:
[root@mysqldb mysqlserver]# /etc/init.d/mysql restart
set names gbk; 后是可以输入汉字的,这是为什么呢? 我要用的utf8啊。请问,这该怎么解决呢?
或SET name 'gbk'