特別是找不到my.cnf的情況更要認(rèn)真看了
作者:樊冠群
在經(jīng)過幾天玩命的百度和不停的實(shí)驗(yàn)后終于將Mysql 5.0.22中文問題解決了。網(wǎng)上文章要不就是長篇大論不切重點(diǎn),要不就是大講Windows而Linux則一句帶過。下面我就以步驟帶講解的方式來談一談自己的心得:
一,環(huán)境:
//其實(shí)是其他環(huán)境的也是一樣可以解決的
紅旗Linux5.0 , java1.5.0-beta2, mysql 5.0.22, hibernate2.1-
二,表現(xiàn)癥狀
1,程序中的數(shù)據(jù)存入數(shù)據(jù)庫時中文變成了問號。
2,從數(shù)據(jù)庫讀出數(shù)據(jù)時中文依然是一堆問好。
三,解決步驟
如果(/etc目錄中存在my.cnf){
打開my.cnf文件,找到[mysqld]字樣。
//解釋:default-character-set=gb2312是設(shè)置數(shù)據(jù)庫的默認(rèn)字符集
//等號后面也可以是別的字符擊名字如utf-8
//如此文件中不寫這行,則數(shù)據(jù)庫的默認(rèn)字符集為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只要一個小型化的默認(rèn)配置就可以了
我取my-small.cnf
打開my-small.cnf文件,找到[mysqld]字樣。
在其下面加入一行default-character-set=gb2312
另存為my.cnf文件
將my.cnf復(fù)制到/etc目錄中
}
重啟計(jì)算機(jī),(我想重啟mysql也可以吧我沒實(shí)驗(yàn)過大家可以試一試)。
比如你程序中用到的數(shù)據(jù)庫為testdb,那就要刪除testdb并重建testdb及其中的所有表。
到此mysql就可以支持中文了,而不必在去修改代碼寫法或其他的設(shè)置了。要注意的是一定要刪除test庫并重建test及其中的所有表,要不然還是會有亂碼。
本文出自:億恩科技【www.riomediacenter.com】
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|