Home  >  Article  >  Database  >  MySQL中文汉字乱码问题分析

MySQL中文汉字乱码问题分析

WBOY
WBOYOriginal
2016-06-07 17:53:001044browse

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了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn