[問題]如何把舊資料庫匯入新網站



贊助商連結


uason
2005-02-13, 02:13 PM
為了順應潮流..把系統由big5碼--->升級UTF-8
結果...舊文章全都變成亂碼.
包括會員名稱只要是中文..都變成火星文...
要如何才能把SQL裡資料由原先big5直接轉成UTF-8.
真是傷腦筋.....
http://myweb.hinet.net/home7/sunglinwu/images/Ro/em12.gifhttp://myweb.hinet.net/home7/sunglinwu/images/Ro/em12.gifhttp://myweb.hinet.net/home7/sunglinwu/images/Ro/em12.gifhttp://myweb.hinet.net/home7/sunglinwu/images/Ro/em12.gifhttp://myweb.hinet.net/home7/sunglinwu/images/Ro/em12.gifhttp://myweb.hinet.net/home7/sunglinwu/images/Ro/em12.gif

贊助商連結


薩卡
2005-02-28, 06:35 PM
以 phpwind 為例(因為我在這測試成功)

從後台直接備份資料庫,再將 *.sql 用 emeditor 打開 另存新檔 字元碼選utf-8
加入unicode 署名 不要打勾 直接存檔

再將備份資料還原即可...網頁模板內如果有 big5 要改為 utf-8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

還原時會遇到一點錯誤,再將其 @@" 錯誤符號更正即可

uason
2005-02-28, 06:42 PM
我試著用convertz轉換過.
可是匯入時出現錯誤.
真是殘念啊....!!
謝謝你的建議.我再試試看!

阿 土
2005-02-28, 06:58 PM
為了順應潮流..把系統由big5碼--->升級UTF-8
結果...舊文章全都變成亂碼.
包括會員名稱只要是中文..都變成火星文...
要如何才能把SQL裡資料由原先big5直接轉成UTF-8.
真是傷腦筋.....

有必要把 big5 轉成 unicode 嗎 ??
編碼不能隨意更動 , 不然可能會很麻煩
之前我用 mysql 新版 , 用了三天後決定放棄更改回舊版本 , 花了許多功夫

匯入使用 phpmyadmin 嗎?
建議你直接使用 mysql 指令方式還原 , 這樣應該不會有問題

mysql -u root -p database_name < backup.sql

uason
2005-02-28, 07:44 PM
其實小弟也只是實驗性質..
試試看unicode的實用性如何!
敝小站也無啥重要資料.
改成unicode再重新來過.

謝謝土大的回答!

P.S.:搞了好幾天還是放棄了...http://myweb.hinet.net/home7/sunglinwu/images/Ro/em08.gif

aerocat
2005-03-12, 08:08 PM
用任何轉換內碼程式將big5 轉成 unicode 多少都會有問題, 如你原先有"許蓋功 " 這些字, 所以還是需要人工check 一下, 才不會有問題.

還有存到新的資料庫中,如果你是
mysql 3.xx.xx --->mysql 4.0.xx以上, 須在後改為
(1) create tablename ......
...
...
) ENGINE=MyISAM DEFAULT CHARSET=utf8

(2)資料sql 前 加上,
SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;

INSERT INTO .........

否則存入資料庫中的還是亂碼

如果你是mysql 4.0.xxx ----> 4.1.xxx
原資料為big5 , 依上述方法

請參考http://phorum.study-area.org/viewtopic.php?t=30187

注意一件很不幸的是, 如果你改用mysql 4.1.x, 原先使用的sql語法(含php, java)通通需要修改, 我已經被這件事情煩死了.....
所以沒必要就不要換了