解决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;
然后你会发现可以成功显示汉字了;
