解决mysql汉字存储问题

解决mysql汉字存储问题
 
在默认情况下,mysql是不能正确显示汉字的。
 
进入mysql 输入命令:
show variables like 'character_set_%';

 

 
查看字符集设置
 
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+

 

不能显示汉字就是因为character_set_database 的Value值为latin1;
 
修改命令为:
SET character_set_database = utf8 ;
(如果除filesystem外其他的value值不为utf8 也一律这样修改)。
 
修改后再次查看字符集配置确保如下:
 
 
修改之后,退出mysql(quit),服务重启一下,
 
net stop mysql   
 
net start mysql
 
重新进入mysql之后把之前建的table删除重新新建,建议使用文件备份之前的命令;
 
方法如下:
 
新建一个mysql.sql 用记事本编辑
 
use mysql;
create table students
(
id int unsigned not null auto_increment primary key,
name char(30) not null,
sex char(10) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
insert into students values(NULL, "金开", "男", 20, "13811371377");
insert into students (name, sex, age) values("十元", "女", 20);
select * from students;

 

 
然后你会发现可以成功显示汉字了;