Linux 下Mysql 5.0.22中文問題解決執行個體

來源:互聯網
上載者:User

特別是找不到my.cnf的情況更要認真看了

作者:樊冠群

在經過幾天玩命的百度和不停的實驗後終於將Mysql 5.0.22中文問題解決了。網上文章要不就是長篇大論不切重點,要不就是大講Windows而Linux則一句帶過。下面我就以步驟帶講解的方式來談一談自己的心得:

一,環境:
//其實是其他環境的也是一樣可以解決的
紅旗Linux5.0 , java1.5.0-beta2, mysql 5.0.22, hibernate2.1

二,表現癥狀
1,程式中的資料存入資料庫時中文變成了問號。
2,從資料庫讀出資料時中文依然是一堆問好。

三,解決步驟
如果(/etc目錄中存在my.cnf){
開啟my.cnf檔案,找到[mysqld]字樣。
//解釋:default-character-set=gb2312是設定資料庫的預設字元集
//等號後面也可以是別的字元擊名字如utf-8
//如此檔案中不寫這行,則資料庫的預設字元集為litan
//引起中文亂碼的原因就是這個
在其下面加入一行default-character-set=gb2312
儲存my.cnf檔案
}否則如果(/etc目錄中不存在my.cnf){
//解釋:
//mysql的安裝目錄就是如果你是用rpm安裝的話就在/usr/share/mysql
//如果你的是解壓縮免安裝的那就在解壓縮後的檔案夾裡
在mysql的安裝目錄中找到名為my-small.cnf,my-medium.cnf
,my-large.cnf等類似命名的檔案安自己需求任取一個;
//解釋:我只是個人用mysql只要一個小型化的預設配置就可以了
我取my-small.cnf
開啟my-small.cnf檔案,找到[mysqld]字樣。
在其下面加入一行default-character-set=gb2312
另存新檔my.cnf檔案
將my.cnf複製到/etc目錄中

重啟電腦,(我想重啟mysql也可以吧我沒實驗過大家可以試一試)。

比如你程式中用到的資料庫為testdb,那就要刪除testdb並重建testdb及其中的所有表。

到此mysql就可以支援中文了,而不必在去修改代碼寫法或其他的設定了。要注意的是一定要刪除test庫並重建test及其中的所有表,要不然還是會有亂碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.