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

我在學習django中admin模塊的時候,登陸進入後臺操做頁面,輸入中文數據,但保存以後全是亂碼(全是「????????????」),而後就開始瞭解決問題之路。mysql

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

  二、在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

  三、以後在path環境變量中添加MySQL的根路徑和根路徑下的bin路徑。(若是以前已設置,而且MySQL的路徑沒有改變,這一步能夠忽略)django

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

    4.一、若是以前安裝了MySQL,須要卸載MySQL,在命令行中執行:mysqld --remove編碼

    4.二、執行:mysqld --install命令行

    4.三、執行:net start mysqlserver

    4.四、登陸mysql:mysql -u root -p rem

    4.五、在mysql的命令行操做中,輸入:show variables like 'charac%';cmd

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

        

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

default-character-set = utf8

     放在

[mysqld]

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

           

   二、個人mysql數據庫在修改編碼配置以前顯示的默認配置結果爲(固然不一樣的版本默認配置可能不同):

    

相關文章
相關標籤/搜索