mysql插入表中的中文顯示為亂碼或問號的解決方法


版權聲明:本文為博主原創文章,未經博主允許不得轉載。

  今天在做ssh的博客項目時發現mysql數據庫中的中文顯示為問號,網上查閱了很多資料,都不是很全,所以我總結一下,供大家參考和自己復習。

  1.我的計算機配置: windows系統(linux沒試過)  mysql 5.6

    mysql中文顯示亂碼或者問號是因為選用的編碼不對或者編碼不一致造成的,我是通過修改my.ini配置文件。(配置文件在安裝的根目錄下如下圖)

   原來的為my-default.ini (復制里面的內容改為my.ini,也就是重新命名)

  2.然后在my.ini如下修改

  [mydqld]和[client]段加入

     default-character-set=utf8  (有的版本不支持default-character-set=utf8,用character_set_server=utf8來取代 default-character-set=utf8即可)

     如果沒有[client]就手工加入[client]段

     【1】在[client]節點下添加 (這個如果是另一種character_set_server=utf8 這樣寫我的會報錯1067【mysql服務無法啟動】,大家可以試試)  (這個是客戶端的編碼配置)
       default-character-set=utf8 
     【2】在[mysqld]節點下添加 (這個是服務器端編碼的配置)(注:collation是排序方式)
       character-set-server=utf8 
      collation-server=utf8_general_ci 

  修改后如下圖所示:

     

 

  3.然后重啟mysql即可

   1)計算機---->右鍵--->管理---->服務和應用程序--->服務--->找到mysql即可

     2)我比較喜歡用命令行

   以管理員身份運行cmd.exe,進行如下操作。

    關閉服務 net stop mysql

    開啟服務 net start mysql

        

 

  END: 然后就可以來查看是否變了編碼格式。還是在cmd中

  1)輸入 mysql -u root -p      進入mysql數據庫 

  2)鍵入密碼:*****(自己的密碼,沒有的話直接回車鍵,嗯其他情況如忘了root密碼百度去orz。。)

  3)show variables like 'char%';  顯示編碼格式

  下圖一為未修改my.ini配置文件的編碼文件latin1(即ISO-8859-1),圖二為已經修改過的。

  

                           圖一(未修改)

   

                  圖二(已修改編碼)

  可以看出都已經更正為utf8了,這樣新建立的數據庫缺省就是UTF8編碼了

 

 

  彩蛋:

  然后你以為到這就完了么,並沒有。。

  接下來你會發現報這個錯如下所示。

  上述錯誤是什么引起的呢,還是因為編碼不正確啊!因為使用了已經創建好的數據庫和表但沒有更改為utf-8;

  通過以下命令查看表的編碼為Latin1:

  show create table tablename(數據庫名.表名);

  

  修改方法:

  ALTER DATABASE `數據庫` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci 

  ALTER TABLE `數據表` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci   (注:此句把表默認的字符集和所有字符列(CHAR,VARCHAR,TEXT)改為新的字符集:

  

  

  

 

  數據庫編碼的修改和查詢

  

  總結:也就是要更改數據庫的默認字符集為utf8,更改表的字符集為utf8,更改列的字符集為utf8,然后重新啟動MYSQL服務;

  最后大功告成!

  

  

  附MySql表、字段、庫的字符集修改及查看方法的鏈接:http://www.jb51.net/article/68856.htm

 

  

  

 

  

 

  

 

 

 

 

 

 

 

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM