您的位置:首页 > 数据库 > MySQL

Ubuntu下mysql解决中文乱码

2015-11-27 18:57 543 查看

Ubuntu下mysql解决中文乱码

一、修改配置文件 /etc/mysql/my.cnf

sudo vi /etc/mysql/my.cnf
在[client] [mysqld_safe] [mysqld]下分别加入

[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;
!!!注意:如果字段的字符集和表、数据库的字符集不一致,远程连接时容易出现错误:“1267
Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) ”

三、重启mysql服务

sudo service mysql restart
或者:sudo /etc/init.d/msql restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: