如何查詢mysql編碼,及如何應對mysql亂碼問題

mysql出現的亂碼問題是很是頭疼的,有時可能出如今控制檯,有時多是服務方面的。MySQL對於字符集的指定能夠細化到一個數據庫,一張表,一列.傳統的程序在建立數據庫和數據表時並無使用那麼複雜的配置,它們用的是默認的配置.(mysql安裝時,特別是使用集成環境:好比appserver wampserver等若是不設置密碼,打開控制檯直接按enter鍵進入。)mysql

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

   使用命令語句:mysql> SHOW VARIABLES LIKE 'character%';數據庫

   第二:應對亂碼問題,多是編碼的問題,能夠這樣修改編碼:app

    問題一:處處都是亂碼,最簡單的修改方法,就是修改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以後才能從命令行正常顯示中文.server

相關文章
相關標籤/搜索