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