MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換的指導(dǎo)
以下的文章主要是對(duì)MySQL 4.1 數(shù)據(jù)的轉(zhuǎn)換指南描述,以下就是文章對(duì)MySQL 4.1 數(shù)據(jù)的轉(zhuǎn)換指南描述詳細(xì)內(nèi)容介紹,希望在你今后的學(xué)習(xí)中會(huì)有所幫助。我們大家都知道MySQL(和PHP搭配之最佳組合) 4.1增加了編碼的支持。
所以在轉(zhuǎn)換舊數(shù)據(jù)的時(shí)候稍微麻煩一些,但只要注意以下幾點(diǎn),基本沒問題的:
1、MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換指南一轉(zhuǎn)換之前一定要先把原有數(shù)據(jù)dump出來(lái)
一般原有數(shù)據(jù)都是gb2312編碼吧,dump命令如下:
MySQL(和PHP搭配之最佳組合)dump -u -p database –add-drop-table –extended-insert
–add-drop-table是為了導(dǎo)入的時(shí)候省去建表環(huán)節(jié),–extended-insert是為了防止在導(dǎo)入的時(shí)候一個(gè)sql語(yǔ)句過(guò)大的情況,想想你的上千條記錄寫在一條sql語(yǔ)句中是多么的恐怖。
這里假定原有數(shù)據(jù)庫(kù)是gb2312編碼,需要轉(zhuǎn)換為utf8編碼,其它編碼之間的轉(zhuǎn)換類似。
2、MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換指南之二修改dump出來(lái)的sql文件
用Emeditor或iconv把文件的編碼轉(zhuǎn)換為utf-8,注意最好不要那個(gè)什么“Unicode Signature(BOM)”,因?yàn)镸ySQL(和PHP搭配之最佳組合).exe不認(rèn)的。再把文件中的gbk_bin替換為utf8_general_ci,把gbk替換為 utf8,然后在文件最前面加上
set names utf8;
帶上BOM,MySQL(和PHP搭配之最佳組合)不識(shí)別的錯(cuò)誤大體如下:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL(和PHP搭配之最佳組合) server version for the right syntax to use n
ear ‘???
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */’ at line 1
3、重新建MySQL4.1庫(kù),然后導(dǎo)入備份的sql語(yǔ)句,導(dǎo)入命令如下:
MySQL(和PHP搭配之最佳組合) -u -p database < dumpdata.sql
4、MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換指南之四如果是以前導(dǎo)出的文件,導(dǎo)入的時(shí)候遇到錯(cuò)誤:
Got a packet bigger than ‘max_allowed_packet’ bytes
or
ERROR 1153 (08S01) at line 616: Got a packet bigger than ‘max_allowed_packet’ by
tes
就需要修改MySQL(和PHP搭配之最佳組合)的最大允許包大小了,編輯my.ini,在[MySQL(和PHP搭配之最佳組合)d]部分(不在這部分沒用)添加一句:
set-variable=max_allowed_packet=10485760
重啟MySQL(和PHP搭配之最佳組合)服務(wù)就可以了,我這里設(shè)置的是大約10M。
到這里數(shù)據(jù)導(dǎo)入基本就完成了,接下來(lái)就是根據(jù)各個(gè)應(yīng)用的不同來(lái)調(diào)整了,一般有的系統(tǒng)已經(jīng)支持了,但還有的不支持,不過(guò)調(diào)整方法大概分以下幾類:
1、在數(shù)據(jù)庫(kù)連接后面加上
MySQL(和PHP搭配之最佳組合)_connect(….
MySQL和PHP搭配之最佳組合)_query(”set names ‘utf8′”);
這種情況最多,比如Brim什么的。
2、將語(yǔ)言文件或模板文件的編碼設(shè)置為utf-8,注意是直接把文件編碼轉(zhuǎn)換了就可以,內(nèi)容不用管,這樣的有phpwind, mantis。使用工具可以是iconv,在這里可以下載。
iconv -f gb2312 -t utf-8 gb2312.html > utf-8.html
3、修改模板文件,設(shè)置HTML中的
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
原先是gb2312編碼的系統(tǒng)多半需要改這個(gè)。
以上的相關(guān)內(nèi)容就是對(duì)MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換指南的介紹,望你能有所收獲。
【編輯推薦】
- 正確解決MySQL中文亂碼的實(shí)操
- 獲得MySQL運(yùn)行報(bào)告,并不難
- 提高M(jìn)ySQL連接數(shù),很簡(jiǎn)單
- 修改MySQL root密碼5步驟介紹
- MySQL數(shù)據(jù)庫(kù)的同步實(shí)例的實(shí)際操作