我们分3中情况来看怎么让MySQL支持中文。
另外mysql还支持对某一列制定字符集(支持中文),这个不在本文的讨论之列。
1. 修改已有表让它支持中文
这是通过修改已有表的字符支持,将其改为utf-8,
1
|
alter table table_name convert to character set utf8;
|
注意:
这个并不会改变已有的乱码的中文字符,只会影响以后插入和修改的字符。
2. 创建新表的时候指定支持中文
如果使用默认字符设置创建表是
create table xxx(
name1 type,
name2 type,
);
要支持中文则是
create table xxx(
name1 type,
name2 type,
)characterset= utf8;
3. 让所有表支持中文
要做在你创建表的时候不制定字符集(支持中文),让他默认支持中文,那么就要修改配置文件,配置文件的名字和位置如下:
Redhat/Centos/Fedora ————–> /etc/my.cnf
Ubuntu ———————————-> /etc/mysql/my.cnf
打开文件然后添加:
1
|
character-set-server=utf8
|
保存推出,重启mysql服务器
sudo service mysqld restart
database
show create database xxx
table
show create table xxx
如果不改client的,在终端上显示的是乱码,这个问题需要修改配置文件,
Redhat/Centos/Fedora ————–> /etc/my.cnf
Ubuntu ———————————-> /etc/mysql/my.cnf
添加:
[client]
1
|
default-character-set=utf8
|