論mysql資料庫亂碼

來源:互聯網
上載者:User

標籤:資料庫亂碼解決


1、問題確認:資料庫亂碼歸集為字元集問題;

   查每個字元集的校隊規則:show character set; (觀察例 utf8  utf8_general_ci )

   建立gbk字元集資料庫:

    create database name_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

   建立:utf8字元集資料庫:

    create database name_ntf8 CHARACTER SET utf8 COLLATE utf8_general_ci;

    #CHARACTER  SET 指定字元集; COLLATE gbk_chinese_ci:校對規則;

=======================================然後解決=========================================== 

法1:

確認庫、表的字元集一致

#一般這是臨時的,重新登入後需重新設定;

註明:DQL.DQL語句之前set names系統及庫表的字元集!

        2、查看字元集:

            show create database basename\G
            *************************** 1. row ***************************
                   Database: basename
            Create Database: CREATE DATABASE `basename` /*!40100 DEFAULT CHARACTER SET latin1 */
        1 row in set (0.00 sec)

          ##資料庫預設的字元集為latin1

        3、調整字元集:

             set names latin1;

          ##正常情況下插入中文字元集時先調整;

        4、插入語句後檢查:select * from test;

法2

匯入的時候 指定字元集(set names latin1),後利用source負載檔案;

        1、把將要跟新的多個sql語句放到文本裡;

            #此處注意要set names Latin1; >test.sql

        2、進入資料後查看:system cat test.sql

        3、利用source 將test.sql 匯入;(建議全路徑)

        4、set names latin1;

        5、檢查:select * from test;

或者:在sql檔案中指定字元集 (set names latin1),然後通過mysql命令匯入;


法3:

匯入的時候--default-character-set=latin1指定字元集

在mysql匯入的時候指定字元集

:mysql -uroot -p‘oldboy123‘ --default-character-set=latin1 test < test.sql


4、在設定檔設定用戶端及服務端指定字元集,且永久生效;

更改my.cnf用戶端模組的參數,可以實現set names latin1;的效果,並且永久生效。

[clinet]

--default-character-set=latin1

提示:無需重啟服務,退出重新登入就生效;相當於set names latin1;

更改服務端字元集簡單的方法;

更改my.cnf參數

[mysqld]

--default-character-set=latin1 適合5.1 及以前的版本;

character-set-server=latin1 適合5.5

總之:保證linux系統、用戶端、服務端、庫、表、程式!字元集統一就不會亂碼。

系統字元集設定位置: /etc/sysconfig/i18n  ,建議使用LANG=zh_CN.utf8 (中英文環境)

本文出自 “一如既往” 部落格,謝絕轉載!

論mysql資料庫亂碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.