mysql數據庫存儲中文數據的解決辦法


  我在學習django中admin模塊的時候,登錄進入后台操作頁面,輸入中文數據,但保存之后全是亂碼(全是“????????????”),然后就開始了解決問題之路。

  1、首先百度搜索,最主流的方法也是一勞永逸的方法是:修改MySQL的配置文件my.ini。我也是按照這個方法做的,只是搜索出來的方法不詳細,或者說不適合MySQL的新版本。

  2、在MySQL根目錄下尋找my.ini配置文件,然而我裝的是MySQL-5.6.30,在根目錄下只找到了my-default.ini文件。把my-default.ini重命名為my.ini,並按照如下格式在文件中的[mysql]和[client]中添加如下語句:

[mysqld]
character_set_server = utf8
character_set_client = utf8

[client]
default-character-set = utf8

  3、之后在path環境變量中添加MySQL的根路徑和根路徑下的bin路徑。(如果之前已設置,並且MySQL的路徑沒有改變,這一步可以忽略)

  4、以管理員權限運行cmd命令行,執行如下步驟,安裝或者重新安裝mysql(注意紅色mysqld和黑色mysql的區別):

    4.1、如果之前安裝了MySQL,需要卸載MySQL,在命令行中執行:mysqld --remove

    4.2、執行:mysqld --install

    4.3、執行:net start mysql

    4.4、登錄mysql:mysql -u root -p 

    4.5、在mysql的命令行操作中,輸入:show variables like 'charac%';

        顯示如下圖所示的結果,mysql數據庫中就可以正常存儲中文數據了。

        

  注意:1、在第2步中,不能把下面這個設置選項

default-character-set = utf8

     放在

[mysqld]

    模塊中。如果是這樣,在安裝或者重新安裝mysql的過程中,可以正確執行4.1和4.2,但執行4.3的時候會報如下圖的錯誤:       

           

   2、我的mysql數據庫在修改編碼配置之前顯示的默認配置結果為(當然不同的版本默認配置可能不一樣):

    

 


    

 

 
        

    


免責聲明!

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



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