萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL中文漢字亂碼問題分析

MySQL中文漢字亂碼問題分析

mysql出現亂碼90%都是中文漢字才會出現亂碼,英文是不會有亂碼的,這樣我們應該可以想到mysql默認是支持uft-8編碼的哦,解決辦法也就簡單了

解決網頁中亂碼的問題,在程序查詢時定義

 代碼如下 復制代碼 db =  mysql _connect("localhost", "user","password"); 
mysql_select_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了。

copyright © 萬盛學電腦網 all rights reserved