這篇文章主要講解了“4.1數據轉換的實(shí)現方法”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“mysql4.1數據轉換的實(shí)現方法”吧!
mysql 4.1增加了編碼的支持,所以在轉換舊數據的時(shí)候稍微麻煩一些,但只要注意以下幾點(diǎn),基本沒(méi)問(wèn)題的:
1、轉換之前一定要先把原有數據dump出來(lái),一般原有數據都是gb2312編碼吧,dump命令如下:
mysqldump -u -p database –add-drop-table –extended-insert
–add-drop-table是為了導入的時(shí)候省去建表環(huán)節,–extended-insert是為了防止在導入的時(shí)候一個(gè)sql語(yǔ)句過(guò)大的情況,想想你的上千條記錄寫(xiě)在一條sql語(yǔ)句中是多么的恐怖。
這里假定原有數據庫是gb2312編碼,需要轉換為utf8編碼,其它編碼之間的轉換類(lèi)似。
2、修改dump出來(lái)的sql文件,用Emeditor或iconv把文件的編碼轉換為utf-8,注意最好不要那個(gè)什么“Unicode Signature(BOM)”,因為mysql.exe不認的。再把文件中的gbk_bin替換為utf8_general_ci,把gbk替換為 utf8,然后在文件最前面加上
set names utf8;
帶上BOM,mysql不識別的錯誤大體如下:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL server version for the right syntax to use n
ear ‘???
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */’ at line 1
3、重新建mysql庫,然后導入備份的sql語(yǔ)句,導入命令如下:
mysql -u -p database < dumpdata.sql
4、如果是以前導出的文件,導入的時(shí)候遇到錯誤:
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的最大允許包大小了,編輯my.ini,在[mysqld]部分(不在這部分沒(méi)用)添加一句:
set-variable=max_allowed_packet=10485760
重啟mysql服務(wù)就可以了,我這里設置的是大約10M。
到這里數據導入基本就完成了,接下來(lái)就是根據各個(gè)應用的不同來(lái)調整了,一般有的系統已經(jīng)支持了,但還有的不支持,不過(guò)調整方法大概分以下幾類(lèi):
1、在數據庫連接后面加上
mysql_connect(….
mysql_query(”set names ‘utf8′”);
這種情況最多,比如Brim什么的。
2、將語(yǔ)言文件或模板文件的編碼設置為utf-8,注意是直接把文件編碼轉換了就可以,內容不用管,這樣的有phpwind, mantis。使用工具可以是iconv,在這里可以下載。
iconv -f gb2312 -t utf-8 gb2312.html > utf-8.html
3、修改模板文件,設置HTML中的
原先是gb2312編碼的系統多半需要改這個(gè)。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站