為了順應潮流..把系統由big5碼--->升級UTF-8
結果...舊文章全都變成亂碼.
包括會員名稱只要是中文..都變成火星文...
要如何才能把SQL裡資料由原先big5直接轉成UTF-8.
真是傷腦筋.....
為了順應潮流..把系統由big5碼--->升級UTF-8
結果...舊文章全都變成亂碼.
包括會員名稱只要是中文..都變成火星文...
要如何才能把SQL裡資料由原先big5直接轉成UTF-8.
真是傷腦筋.....
以 phpwind 為例(因為我在這測試成功)
從後台直接備份資料庫,再將 *.sql 用 emeditor 打開 另存新檔 字元碼選utf-8
加入unicode 署名 不要打勾 直接存檔
再將備份資料還原即可...網頁模板內如果有 big5 要改為 utf-8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
還原時會遇到一點錯誤,再將其 @@" 錯誤符號更正即可
我試著用convertz轉換過.
可是匯入時出現錯誤.
真是殘念啊....!!
謝謝你的建議.我再試試看!
有必要把 big5 轉成 unicode 嗎 ??作者:uason
編碼不能隨意更動 , 不然可能會很麻煩
之前我用 mysql 新版 , 用了三天後決定放棄更改回舊版本 , 花了許多功夫
匯入使用 phpmyadmin 嗎?
建議你直接使用 mysql 指令方式還原 , 這樣應該不會有問題
mysql -u root -p database_name < backup.sql
其實小弟也只是實驗性質..
試試看unicode的實用性如何!
敝小站也無啥重要資料.
改成unicode再重新來過.
謝謝土大的回答!
P.S.:搞了好幾天還是放棄了...
用任何轉換內碼程式將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)通通需要修改, 我已經被這件事情煩死了.....
所以沒必要就不要換了
書籤