要確定資料內容從Phpmyadmin看.內容是可正常檢視
如果看到的是亂碼..下載下來的也會是亂碼.
因此可嘗試更換各種版本PHPMYADMIN安裝檢視.
如果是超大容量資料庫(200mb以上)..建議分資料表採分段下載
不要一次打包成一個超大檔案下載.這只會造成修改後上傳的麻煩
下載資料表內容
使用PHPMYADMIN的下載功能'.下載資料完畢.開啟資料文章
再使用文字編輯器檢視資料內容是否能正常檢視.
建議軟體:notepad++
如果不行.有可能是文件軟體使用了UTF8模式.修改模式後重新檢視
轉碼
可以的話開始轉碼將原本BIG5的SQL資料夾轉為UTF8
建議軟體:convertz802
修正內容
轉碼完畢後.接著修正資料內容.
首先將所有latin或big5的字串修改為utf8
接著修改內文
(有些BIG5的字碼與UTF8語法有衝突.如果直接上傳.絕對會發生錯誤)
使用notepad++打開轉成UTF8得資料表SQL
找到下面這些字元用大量取代的方式轉換
1. ?); 改成 ');
2. 功\蓋\許\餐\擺\豹\淚\枯\珮\稞\塗\ 通通改為 功蓋許餐擺豹淚枯珮稞塗
3. ?, ' >> ', '
4. \'); >> ');
5. \', ' >>', '
基本上這些改好以後錯誤大概可以減少 99%
然後把資料表用FTP上傳到網路空間
也可壓縮成.zip上傳後.用cpanel>>文件管理器>>Extract
可省大量上傳空間與等待時間
上傳準備.新建資料表
接著建立一個新的資料庫
phpmysql裡 .操作>>整理(或校對) 要改為 UTF8
設定對應庫帳號
$dbhost = 'localhost';$dbname = ';$dbuser = '';$dbpasswd = ;
上傳
接著使用大量上傳資料庫軟體
建議軟體:bigdump 或 MySQLDumper1.24.4
要設定的地方如下:
開始上傳.
過程中會遇到一些問題
1.一般錯誤 : 設定資料庫或帳密錯誤.或資料庫已經有內容.或對應資料表檔案名稱錯誤
2.停住出現紅字.代表那一行有與法錯誤卡住了.
因此你需要開啟notepad++.找到那行修正錯誤.然後上傳覆蓋剛剛
已經上傳好的資料表.然後進phpmusql刪除剛剛所有建立的.重新利用
bigdump建置資料庫內容
3.傳到一半停住出現錯誤..顯示記憶體不夠
memory size of 33554432 bytes exhausted (tried to allocate 11437591 bytes)
這通常不是記憶體不夠..修改伺服器無效
而是某個資料內容錯誤卡住了造成無限回圈
建議打開PHPMYADMIN.找到最後一筆處理資料後
回到notepad++.找到那筆資料.它的下一筆就是有問題的.如果看不出問題在哪
就把他刪除了..通常會是//////.這類的情況.
然後一樣再一次全部重新上傳.資料庫已完成內容刪除.使用BIGDUMP.
直到資料全部正確並且上傳成功為只
4.上傳成功後.要記得核對一下資料量.有時候他顯示OK.但核對後卻發現短少了幾千篇文章
仍然就是有卡住的內容
對應程式修正
完成以上資料庫修改
接著就是要使用這資料庫的程式.
把有關BIG5的設定都改為UTF8.並且有些內嵌中文的都要轉成UTF8檔案
建議軟體:MadEdit
另外如果你有範本可覆蓋.卻怕與既有檔案有差異.可使用比對的方式修正
建議軟體:EmEditor
以上就是我的經驗
整個過程大概耗費了50小時
修正約1百8十萬筆中文資料與十萬個會員資料
總文字檔容量約800MB
過程非常冗長與辛苦..希望這篇文章有幫到你 加油
最後我要謝謝我的夥伴BU給我最直接的指導與幫助
沒有他我這個從來沒有學過任何程式語言的人不可能會成功
沒有留言:
張貼留言