[轉]關於Navicat和MYSQL字元集不統一出現的中文亂碼問題

來源:互聯網
上載者:User

標籤:fonts   linu   測試資料   注意   運行   result   blog   mysqldump   資料庫系統   

 

原文連結:關於Navicat和MYSQL字元集不統一出現的中文亂碼問題

 

最近遇到一串關於MYSQL中文亂碼的問題,問題背景是這樣的:

在此之前,伺服器上安裝好MySQL之後就立馬重新設定了字元集為utf8,之後用Navicat進行資料匯入,發現中文的字元匯入之後全是亂碼,然後查論壇很

快通過以下方式解決了:建立串連時編碼選擇UTF-8,把使用MYSQL字元集之前的勾勾去掉。

 

 

資料庫的屬性設定為:

 

OK,Navicat裡的中文字元正常了。於是 ,開心的進行資料匯入,一切感覺完美~

接下來我在命令列採用最簡單的mysqldump方法進行備份,備份成功,因為都是測試資料,我順手開啟備份好的檔案一看,又是亂碼!之後命令列直接進到資料庫查詢,

果然查詢結果也是亂碼!我用命令列建了一個測試表,插入中文資料,查表,顯示正確;Navicat查表,亂碼。這是什麼情況~明明兩邊都是UTF-8

編碼方式。

內心一萬隻羊駝奔過...

OK 我們現在來一步步排查問題:

首先,開啟/etc/my.cnf 檔案查看是否字元集配置正確,果然,在[mysqld] 下錯寫成了default-character-set=utf8

 

正確的配置方式:

先備份一下my.cnf檔案,然後 vim /etc/my.cnf 插入以下幾行

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8  #注意這行不要寫成 default-character-set=utf8

[mysql]

no-auto-rehash 

儲存之後service mysqld restart  啟動成功  ,進行之前的資料測試,亂碼問題依然存在。能兩邊的字元集真的不一樣呢?

查了一些資料才知道:只要涉及到文字的地方,就會存在字元集和編碼方式。對於MySQL資料庫系統而言,使用者從MySQL client端敲入一條sql語句,通過TCP/IP傳遞給

MySQL server進程,到最終存入server端的檔案,每個環節都涉及到字元儲存。涉及到字元儲存的地方,就涉及到字元集編碼。

我們就用 show variables like‘char%‘;和 showvariables like ‘collation_%‘;來查看一下:

分別在MYSQL、Navicat中運行命令;

兩邊有些字元集和校對的系統變數是不同的。

至此,我找到了問題的關鍵。

最後我們去解決問題,我有兩種方法:

①我們以MySQL配置為準。在Navicat 中運行以下命令:

setcharacter_set_client= utf8;

setcharacter_set_connection =utf8 ;

setcharacter_set_results=utf8 ;

再查看字元集,兩邊就一致了。進行測試,亂碼問題解決。

②保證MySQL字元集配置正確的前提下,在navicat的串連屬性中勾選使用MYSQL字元集。

最後才發現自己把自己坑了。

不管怎樣,最後問題解決了,又可以愉快的工作了。

       

 

以下是我參考的一些文章:

http://www.douban.com/note/268110263/?type=like

http://www.linuxidc.com/Linux/2015-04/116550.htm

[轉]關於Navicat和MYSQL字元集不統一出現的中文亂碼問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.