Ubuntu下mysql解决中文乱码
一、修改配置文件 /etc/mysql/my.cnf
sudo vi /etc/mysql/my.cnf
在[client] [mysqld_safe] [mysqld]下分别加入
[client]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8'
二、修改数据库、表、字段的字符集为utf-8
查看当前mysql的字符集设置:使用SQL语句SHOW VARIABLES LIKE 'character_set_%'; 。
修改数据库字符集:
ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
只是修改表的默认字符集:
ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
修改字段的字符集:
ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;
三、重启mysql服务
sudo service mysql restart
或者:sudo /etc/init.d/msql restart