MySQL中文汉字乱码问题分析
mysql出现乱码90%都是中文汉字才会出现乱码,英文是不会有乱码的,这样我们应该可以想到mysql默认是支持uft-8编码的,解决办法也就简单了.
解决网页中乱码的问题,在程序查询时定义,代码如下:
- db=mysql_connect("localhost","user","password");
- mysql_select_db("message",$db);
- mysql_query("SETNAMES'utf8'",$db);
将所有的环境都设置为utf8编码,你可以在sqlYog的查询窗口中使用.
1.SHOW VARIABLES LIKE 'character_set_%';
编辑配置文件
1.编辑/etc/my.cnf,在[mysql]段加入,代码如下:
default_character_set=utf8;
导入数据有中文乱码的问题
1:将数据编码格式保存为utf-8,设置默认编码为utf8,代码如下:
set names utf8;
设置数据库db_name默认为utf8,代码如下:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
设置表tb_name默认编码为utf8,代码如下:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
导入如下代码:
LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;
phpadmin中文乱码
在Phpmyadmin文件夹下找到libraries文件夹,修改里面select_lang.lib.php文件.
a)zh-gb2312 修改成 zh-gb2312-utf-8
b)修改MySQL_charset_map 数组中,代码如下:
'gb2312' => 'utf-8' 修改成 'gb2312' => 'latin1',有的显示'gb2312' => 'gb2312',修改同理.
c)修改MySQL_charset_map 数组中,代码如下:
'utf-8' => 'utf-8' 修改成 'utf-8' => 'latin1',之后重启httpd就OK了.
热门评论