MySQL命令列查詢亂碼解決方法

2021-08-09 02:08:38 字數 2949 閱讀 4745

mysql會出現中文亂碼的原因不外乎下列幾點:

1.server本身設定問題,例如還停留在latin1

2.table的語系設定問題(包含character與collation)

3.客戶端程式(例如php)的連線語系設定問題

強烈建議使用utf8,utf8可以相容世界上所有字元

找到這個地方 看看default-character-set 是不是 utf8不是的話 改為utf8即可!(以前的版本可能沒有這句話 直接加上就好了!)

把上面的編碼方式改變:

set character_set_results=gb2312; 就可以正常顯示!

關於gbk、gb2312、utf8

gbk是國家標準gb2312基礎上擴容後相容gb2312的標準。gbk的文字編碼是用雙位元組來表示的,即不論中、英文本元均使用雙位元組來表示,為了區分中文,將其最高位都設定成1。gbk包含全部中文字元,是國家編碼,通用性比utf8差,不過utf8占用的資料庫比gbd大。

gbk、gb2312等與utf8之間都必須通過unicode編碼才能相互轉換:

gbk、gb2312--unicode--utf8

utf8--unicode--gbk、gb2312

對於乙個**、論壇來說,如果英文本元較多,則建議使用utf-8節省空間。不過現在很多論壇的外掛程式一般只支援gbk。

gb2312是gbk的子集,gbk是gb18030的子集

gbk是包括中日韓字元的大字符集合

如果是中文的** 推薦gb2312 gbk有時還是有點問題

為了避免所有亂碼問題,應該採用utf-8,將來要支援國際化也非常方便

utf-8可以看作是大字符集,它包含了大部分文字的編碼。

使用utf-8的乙個好處是其他地區的使用者(如香港台灣)無需安裝簡體中文支援就能正常**你的文字而不會出現亂碼。

gb2312是簡體中文的碼

gbk支援簡體中文及正體中文

big5支援正體中文

utf-8支援幾乎所有字元

首先分析亂碼的情況 

mysql中涉及的幾個字符集

character-set-server/default-character-set:伺服器字符集,預設情況下所採用的。

character-set-database:資料庫字符集。

character-set-table:資料庫表字符集。

優先順序依次增加。所以一般情況下只需要設定character-set-server,而在建立資料庫和表時不特別指定字符集,這樣統一採用character-set-server字符集。

character-set-client:客戶端的字符集。客戶端預設字符集。當客戶端向伺服器傳送請求時,請求以該字符集進行編碼。

character-set-results:結果字符集。伺服器向客戶端返回結果或者資訊時,結果以該字符集進行編碼。

在客戶端,如果沒有定義character-set-results,則採用character-set-client字符集作為預設的字符集。所以只需要設定character-set-client字符集。

要處理中文,則可以將character-set-server和character-set-client均設定為gb2312,如果要同時處理多國語言,則設定為utf8。

關於mysql的中文問題

解決亂碼的方法是,在執行sql語句之前,將mysql以下三個系統引數設定為與伺服器字符集character-set-server相同的字符集。

character_set_client:客戶端的字符集。

character_set_results:結果字符集。

character_set_connection:連線字符集。

設定這三個系統引數通過向mysql傳送語句:set names gb2312 

MySQL命令列查詢亂碼解決方法

mysql會出現中文亂碼的原因不外乎下列幾點 1.server本身設定問題,例如還停留在latin1 2.table的語系設定問題 包含character與collation 3.客戶端程式 例如php 的連線語系設定問題 強烈建議使用utf8,utf8可以相容世界上所有字元 找到這個地方 看看de...

命令列查詢亂碼

mysql會出現中文亂碼的原因不外乎下列幾點 1.server本身設定問題,例如還停留在latin1 2.table的語系設定問題 包含character與collation 3.客戶端程式 例如php 的連線語系設定問題 強烈建議使用utf8,utf8可以相容世界上所有字元 id iframe 0...

MySQL命令列亂碼問題的解決

使用mysql命令列可以實現許多我們需要的功能,不過在使用mysql命令列的時候,有乙個問題是在mysql命令列插入中文資料或者查詢中文資料時出現亂碼,或者顯示不對。在mysql命令列輸入 show variables like character set 檢視當前配置的編碼 在mysql命令列輸入...