>  기사  >  데이터 베이스  >  MySQL中文汉字乱码问题分析

MySQL中文汉字乱码问题分析

WBOY
WBOY원래의
2016-06-07 17:53:001040검색

mysql出现乱码90%都是中文汉字才会出现乱码,英文是不会有乱码的,这样我们应该可以想到mysql默认是支持uft-8编码的哦,解决办法也就简单了

解决网页中乱码的问题,在程序查询时定义

 代码如下 复制代码
db =  mysql _connect("localhost", "user","pass"); 
mysql__db("message",$db);
mysql_query("SET NAMES '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了。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.