萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 查詢mysql編碼以及解決mysql亂碼問題

查詢mysql編碼以及解決mysql亂碼問題

mysql亂碼問題的排除辦法一盤先是從程序開始了然後我們程序解決不了就得查mysql默認編碼了,今天我們來看一篇關於解決mysql亂碼問題的教程。

mysql出現的亂碼問題是非常頭疼的,有時可能出現在控制台,有時可能是服務方面的。

MySQL對於字符集的指定可以細化到一個數據庫,一張表,一列。傳統的程序在創建數據庫和數據表時並沒有使用那麼復雜的配置,它們用的是默認的配置。

(mysql安裝時,特別是使用集成環境:比如appserver wampserver等如果不設置密碼,打開控制台直接按enter鍵進入。)

第一:如何查詢mysql的編碼:

使用命令語句:

mysql> SHOW VARIABLES LIKE 'character%';

第二:解決亂碼問題,可能是編碼的問題,可以這樣修改編碼:

問題一:到處都是亂碼,最簡單的修改方法,就是修改mysql的my.ini文件中的字符集鍵值:

default-character-set = utf8
character_set_server = utf8

其次的方法就是使用mysql的命令:

mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
 
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;
問題二:一般就算設置了表的默認字符集為utf8並且通過UTF-8編碼發送查詢,你會發現存入數據庫的仍然是亂碼。

問題就出在這個connection連接層上。解決方法是在發送查詢前執行一下下面這句:

SET NAMES 'utf8';

它相當於下面的三句指令:

SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set
_connection = utf8;

問題三:不知道什麼原因,我在自己機器上把上述三個字符集都設置成utf8後,查詢中文結果還是亂碼,只有把character_set_results設置成GBK之後才能從命令行正常顯示中文

copyright © 萬盛學電腦網 all rights reserved