今天突然想起搭建网站的话,MySql数据库里面需要存储中文。所以就开始鼓捣起如何实现MySql存储中文这个问题。
网上也有其他解决方法,但是很多是一次性的,我希望可以实现永久解决MySql存储中文的问题。
在默认情况下,MySql是不能存储中文的。
进入mysql,输入以下命令:
show variables like 'character_set_%';
不能显示汉字就是因为character_set_database 的Value值为latin1;
下面是解决方法:
首先输入以下命令:
#gedit /etc/mysql/my.cnf
对my.cnf文件进行编辑,添加下面的语句:
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
添加完以后,保存,然后重启MySql服务。
/etc/init.d/mysql restart
重新进入mysql
mysql -uroot -p
再次查看字符集配置确保如下:
可以在mysql里面输入以下代码进行测试:
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;
结果如下: