找回MySQL 編碼轉(zhuǎn)換的解決方案
以下的文章主要是淺談MySQL 編碼轉(zhuǎn)換以及MySQL 編碼轉(zhuǎn)換的實(shí)際操作步驟,我在一個信譽(yù)度很好的網(wǎng)站找到一個關(guān)于MySQL 編碼轉(zhuǎn)換的資料,拿出來供大家分享,希望會給你帶來一些幫助在此方面。
現(xiàn)代應(yīng)用程序很多都支持多語言,所以如果數(shù)據(jù)庫采用MySQL的話,一般都建議使用utf8編碼,這樣就可以存儲多語言數(shù)據(jù)。另外一個原因是目前大多數(shù)的開發(fā)語言如.NET、JAVA,程序內(nèi)部本身就是使用unicode處理程序,MySQL使用utf8后可以避免數(shù)據(jù)庫與程序之間的編碼轉(zhuǎn)換。
MySQL 編碼轉(zhuǎn)換 1.服務(wù)器編碼設(shè)置。
MySQL server 5在windows下安裝時可以選擇數(shù)據(jù)庫的編碼,但在linux下卻不行,默認(rèn)編碼是litan1,所以需要修改配置文件,windows下配置文件是安裝目錄下的my.ini,linux下配置文件是/etc/my.cnf,在[client]、[MySQLd]分別加上default-character-set=utf8,重啟服務(wù)(linux下命令為service MySQL restart)后在MySQL>下輸入show,結(jié)果中character_set_xxxx所有都顯示為utf8就表示配置成功。
MySQL 編碼轉(zhuǎn)換2.應(yīng)用程序的配置。
java:jdbc:MySQL://192.168.1.231:3306/dbname?useUnicode=true&characterEncoding=utf-8
net:Server=127.0.0.1;Database=dbname;User Id=root;Password=123456;Charset=utf8
把ip、dbname改為系統(tǒng)指定的。
MySQL 編碼轉(zhuǎn)換3.已有數(shù)據(jù)庫編碼轉(zhuǎn)換。
如果之前有些數(shù)據(jù)庫是使用litan1編碼,那么你需要將其轉(zhuǎn)換為utf8后才能更好地使用。
a. MySQLdump --default-character-set=latin1 -uroot -p123456 dbname > 1.sql
b. 用editplus之類編輯工具打開1.sql,將latin1轉(zhuǎn)換為utf8。(在測試中使用ultraedit轉(zhuǎn)換后無法導(dǎo)入,不知道原因)。
c. MySQL -u root -p 123456 dbname < 1.sql
將轉(zhuǎn)換后的sql文件導(dǎo)入到新的數(shù)據(jù)庫中。
【編輯推薦】