首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

mysql中文乱码解决方法

作者:  时间: 2011-05-07

在my.cnf中添加或修改如下代码: 
[client] 
default-character-set=utf8 
[mysqld] 
default-character-set=utf8

建议网页中的编码和数据库的编码统一,如果都是utf8那就都设置为utf8,如果是gbk那就都设置成gbk;

如果不加以上代码,那么即便MYSQL编译安装时指定的编码是UTF8,那么在建库时其默认编码仍是LATIN1,而由于字符集的继承性,库中的表也是LATIN1的了。

这里列几条命令,大家可以自己试下: 
1.列出MYSQL支持的所有字符集: 
SHOW CHARACTER SET;

2.当前MYSQL服务器字符集设置 
SHOW VARIABLES LIKE 'character_set_%';

3.当前MYSQL服务器字符集校验设置 
SHOW VARIABLES LIKE 'collation_%';

4.显示某数据库字符集设置 
show create database 数据库名;

5.显示某数据表字符集设置 
show create table 表名;

6.修改数据库字符集 
alter database 数据库名 default character set 'utf8';

7.修改数据表字符集 
alter table 表名 default character set 'utf8';

8.建库时指定字符集 
create database 数据库名 character set gbk collate gbk_chinese_ci;

9.建表时指定字符集 
CREATE TABLE `mysqlcode` ( 
`id` TINYINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`content` VARCHAR( 255 ) NOT NULL 
) TYPE = MYISAM CHARACTER SET gbk COLLATE gbk_chinese_ci;