mysql數據庫 中文亂碼

參考文章   http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html

本文有些長情況複雜, 可直接看最下面  8 總結 解決方案

1.mysql數據庫中文顯示亂碼

  

命令行中也是 

在sqlyog裏面顯示?? ,在命令行也顯示??

2. 命令   show variables like 'character%';


從上圖中可以看到 MySQL 有六處使用了字符集,分別爲:client 、connection、database、results、server 、system。
其中與服務器端相關:database、server、system;
客戶端相關:connection、client、results 。
 
client 爲客戶端使用的字符集。
connection 爲連接數據庫的字符集設置類型,如果程序沒有指明連接數據庫使用的字符集類型則按照服務器端默認的字符集設置。
database 爲數據庫服務器中某個庫使用的字符集設定,如果建庫時沒有指明,將使用服務器安裝時指定的字符集設置。
results 爲數據庫給客戶端返回時使用的字符集設定,如果沒有指明,使用服務器默認的字符集。
server 爲服務器安裝時指定的默認字符集設定。
system 爲數據庫系統使用的字符集設定。
如果這六個 ,有好幾個不一樣那必定出現亂碼。

在 MySQL 的安裝目錄下有一個 my.ini 配置文件,通過修改這個配置文件可以一勞永逸的解決亂碼問題。在這個配置文件中 [mysql] 與客戶端配置相關,[mysqld] 與服務器配置相關。默認配置如下:


3,  編碼不一樣,會出現問題,也有的時候,編碼都一樣 ,還是會出現亂碼,
有可能,數據庫導出的sql文件,記得查看,你要導入的sql文件的數據庫的每張表的charset 是否是相同的
有時候在你安裝的數據庫的前後字符集設置不一樣 ,和導入的sql文件中的字符集不一樣也會出現亂碼
最終圖形界面中的顯示正常

4 ,現在是   ,圖形界面顯示正常中文,命令行顯示亂碼

5,瞭解了上面的信息我們來分析下亂碼的原因,
   
     問題出在了當前的 CMD 客戶端窗口,因爲當前的 CMD 客戶端輸入採用 GBK 編碼,而數據庫的編碼格式爲 UTF-編碼不一致導致了亂碼產生。而當前 CMD 客戶端的編碼格式無法修改,所以只能修改 connection、 client、results 的編碼集來告知服務器端當前插入的數據採用 GBK 編碼,而服務器的數據庫雖然是採用 UTF-8 編碼,但卻可以識別通知服務器端的 GBK 編碼數據並將其自動轉換爲 UTF-8 進行存儲。可以使用如下語句來快速設置與客戶端相關的編碼集:
  • set names gbk;

設置完成後即可解決客戶端插入數據或顯示數據的亂碼問題了,但我們馬上會發現這種形式的設置只會在當前窗口有效,當窗口關閉後重新打開 CMD 客戶端的時候又會出現亂碼問題;那麼,如何進行一個一勞永逸的設置呢?在 MySQL 的安裝目錄下有一個 my.ini 配置文件,通過修改這個配置文件可以一勞永逸的解決亂碼問題。在這個配置文件中 [mysql] 與客戶端配置相關,[mysqld] 與服務器配置相關。默認配置如下:

  • [mysql]
  • default-character-set=utf8
  • [mysqld]
  • character-set-server=utf8

這時只需要將下的默認編碼 default-character-set=utf8 改爲 default-character-set=gbk ,重新啓動 MySQL 服務即可。


修改mysql的配置文件    my.ini    中的 mysql     default-character-set=gbk
 
6  修改完成後,重啓mysql 服務,重新進入命令行界面  ,中文顯示正常

圖形界面sqlyog中顯示正常,新加入的  管理員  不是亂碼形式

7 所有的編碼都是 utf8    圖形界面正常 ,命令行亂碼                                 

  

8 總結  

             方案一:所有的編碼都設置成utf8  沒有情況 3  ,那麼 圖形界面顯示正常,  只是在命令行中顯示亂碼

             方案二:在圖形界面顯示正常 ,沒有情況 3 , 也要在命令行中顯示正常  

               將下的默認編碼配置文件my.ini    default-character-set=utf8 改爲 default-character-set=gbk ,重新啓動 MySQL 服務即可

發佈了41 篇原創文章 · 獲贊 8 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章