以下的文章主要是對(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í)候稍微麻煩一些,但只
以下的文章主要是對(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出來
一般原有數(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語句過大的情況,想想你的上千條記錄寫在一條sql語句中是多么的恐怖。
這里假定原有數(shù)據(jù)庫是gb2312編碼,需要轉(zhuǎn)換為utf8編碼,其它編碼之間的轉(zhuǎn)換類似。
2、MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換指南之二修改dump出來的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庫,然后導(dǎo)入備份的sql語句,導(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)入基本就完成了,接下來就是根據(jù)各個(gè)應(yīng)用的不同來調(diào)整了,一般有的系統(tǒng)已經(jīng)支持了,但還有的不支持,不過調(diào)整方法大概分以下幾類:
1、在數(shù)據(jù)庫連接后面加上
MySQL(和PHP搭配之最佳組合)_connect(….
MySQL和PHP搭配之最佳組合)_query(”set names ‘utf8′”);
這種情況最多,比如Brim什么的。
2、將語言文件或模板文件的編碼設(shè)置為utf-8,注意是直接把文件編碼轉(zhuǎn)換了就可以,內(nèi)容不用管,這樣的有phpwind, mantis。使用工具可以是iconv,在這里可以下載。
iconv -f gb2312 -t utf-8 gb2312.html > utf-8.html
3、修改模板文件,設(shè)置HTML中的
原先是gb2312編碼的系統(tǒng)多半需要改這個(gè)。
以上的相關(guān)內(nèi)容就是對(duì)MySQL 4.1 數(shù)據(jù)轉(zhuǎn)換指南的介紹,望你能有所收獲。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com