將BIG-5網站轉成UTF-8多國語系-實作篇


收錄会議室各種教學講義
虛擬画像
作成: 04/29/07 12:54am
關於BIG-5「聞字網」的進化、蛻變與成長記錄!

BIG-5是一種古老的繁體中文編碼格式,除了廣泛應用在各種文件格式當中,目前還有許多網站還在採用這套超過20年的老舊編碼格式。以電腦科技來說,過時的系統勢必會遇到許多問題,因此BIG-5確實是存在不少難以克服的問題!

唯一能解決問題的辦法就是改用1994年發表的Unicode多國語系編碼格式!除了能避開與解決BIG-5編碼與DOS、UNIX、SQL指令衝碼的問題,還能同時支援繁簡體中文、日文、韓文、法文、德文等。為了與8-bit系統相容,Unicode有兩種編碼方式,一種是UTF-16,另外一種是UTF-8。網站系統大多都是英文語系國家發展而成,為了相容於8bit系統,因此網站幾乎全部都是使用UTF-8,而沒有使用UTF-16。

日文使用的編碼格式叫做 SHIFT JIS,這是一套在1980年發展的一套16-bit編碼格式 (由兩個8-bit位元組所構成),請參考Wiki網路百科全書的說明:

http://ja.wikipedia.org/wiki/Shift_jis

1980年代、パソコン用16ビットCPUの普及もあいまって、漢字を表示可能なハードウェアを備えたパソコンが続々と発売された[1]。そのため、これらパソコン用の文字符号化方式が模索された。
この文字符号化方式には、先行してよく利用されるJIS C 6220(現在のJIS X 0201)の8ビット符号(以下「英数字・半角カナ」)と、JIS C 6226(現在のJIS X 0208、以下「漢字」)の両文字集合を、エスケープシーケンス無しで混在可能にすることが求められていた。


在SHIFT JIS發表的4年後,在1984年才有5大公司發表BIG-5編碼格式,嗯~到底是誰參考誰,還是誰抄襲誰的編碼格式... 我就不知道了,請各位自己想...

http://zh.wikipedia.org/wiki/大五碼

「五大碼」(Big5) 是在1984年由中華民國財團法人資訊工業策進會和五間有意願共同推動電腦中文化的資訊公司所共同創立,故稱五大碼。此五間公司為:宏碁、神通、佳佳、零壹及大眾。「五大碼」的英文名稱「Big5」後來被人按英文字序譯回中文,以致現在有「五大碼」和「大五碼」兩個中文名稱。
Big5碼的產生,是因為當時台灣不同廠商各自推出不同的編碼,如IBM 5550、王安碼等,彼此不能相容;另一方面,台灣當時尚未推出官方的漢字編碼,而中國大陸所推行的GB 2312編碼,亦未有收錄繁體字。在這樣的時空背景下,為了使台灣早日進入資訊時代,所採行的一個計畫;同時,這個計畫對於以台灣為核心的亞洲繁體漢字圈也產生了久遠的影響。


雖然Unicode也發表了將近13年,直到最近許多網站系統才開始支援Unicode,事實上Windows XP並不是一個完全支援Unicode,以Unicode為核心的作業系統,幾乎所有的WinXP使用者都不知道這點,除了作業系統內建的ZIP壓縮與FTP等不支援Unicode,作業系統的功能表等語系也有不同的對應,而不是全球共用。

也就是說你無法在繁體中文的WinXP上面安裝日文版應用程式、日文遊戲。同樣的英文WinXP也無法顯示中文字!即使WinXP如此老舊、安全性漏洞一大堆、病毒、木馬更是數不清,仍舊是全球最多人使用的作業系統。

http://zh.wikipedia.org/w/index.php?tit ... iant=zh-tw

Unicode(統一碼、萬國碼、單一碼)是一種在電腦上使用的字元編碼。它為每種語言中的每個字元設定了統一併且唯一的二進位編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公佈。隨著電腦工作能力的增強,Unicode也在面世以來的十多年裡得到普及。
最新版本的 Unicode 是 2006年7月14日推出的Unicode 5.0.0。


照理說一個架設在 .jp 日本網域的網站,應該都是使用SHIFT JIS或是採用更新的UTF-8編碼格式,不過呢... 以這個網站為例,你可以在網站上看到日文假名 “「デジタルカメラ・フォト用語の基礎知識」(數位相機・攝影用語的基礎知識)”,也能同時看到繁體中文:

http://photofan.jp/camera/html/modules/ ... oryid=1016

然而如果你把網頁瀏覽器的編碼格式改成UTF-8或SHIFT JI都只會看到亂碼!只有改成BIG-5才能正常顯示,換句話說,這其實是一個使用BIG-5編碼格式架設的網站!

由於日文字是以50音的「片假名、平假名」與「漢字」所組成,如果漢字的編碼格式與繁體中文完全不同的話,你就不可能在一個使用BIG-5的網站上看到日文字!因此這是BIG-5 HKCSC香港字的延伸版本,除了收錄香港字也包括了日文「片假名、平假名」。

即使你在網站上能同時看到日文與繁體中文,很抱歉,仍舊不是多國語系的網站,因為仍舊不支援簡體中文、韓文... 更重要的是底下這個問題,依舊無解!

衝碼問題
因為低位元字元中包含了程式語言、shell、script 中,字串或命令常會用到的特殊字元,例如0x5C 「\」、0x7C 「|」等。「\」 在許多用途的字串中是當作轉義符號又稱為跳脫字元,例如 \n(換行)、\r(歸位)、\t(tab)、\\(\本身符號)、\"(引號)等等。而 「|」 在UNIX作業系統中大多當作命令管線的使用,如 "ls -la | more" 等等。如果在字串中有這些特殊的轉義字元,會被程式或直譯器解釋為特殊用途。但是因為是中文的原因,故無法正確解釋為上面所述的行為,因此程式可能會忽略此轉義符號或是中斷執行。若此,就違反了使用者本來要當成中文字元一部份使用的本意。[2]
在常用字如「功」(0xA55C)、「許」(0xB35C)、「蓋」(0xBB5C)、「育」(0xA87C)中時常出現,造成了許多軟體無法正確處理以Big5編碼的字串或文件。這個問題被戲謔性地人名化,稱為「許功蓋」或「許蓋功」(這三個字都有這種問題)。
一般的解決方法,是額外增加「\」的字元,因為「\\」會被解釋為「\」,所以「成功\因素」這個字串就能無誤地被當作「成功因素」的字串。但是額外的困擾是,有些輸出功能並不會把「\」當作特殊字元看待,所以有些程式或網頁就會錯誤地常常出現在「許功蓋」這些字後面多了「\」。


早在2002採用XOOPS系統架站的「聞字網」網站,由於當時還沒有UTF-8版本,而且2002年只有 “XOOPS 1.0 RC 3.0.5 繁體中文版”,與現在的XOOPS 2.0.x以及XOOPS 2.2.x、XOOPS Cube有很大差別,然而到Google搜尋一下,居然關於"Powered by XOOPS 1.0 RC 3.0.5 繁體中文版"大約有4,720 頁繁體中文,換句話說還有4000多個網站到現在還在用XOOPS 1.0.x版架設。

雖然沒有升級網站系統並不是什麼過錯,但就像沒有升級Windows系統,可以想見老舊系統面對現在的XSS跨網站攻擊、SQL Injection資料庫注入惡意指令攻擊等,會有難以招架的問題。

XOOPS系統直到2.0.x版才開始對應UTF-8語系,不過已經用BIG-5架設的網站,由於缺乏BIG-5轉UTF-8資料庫的工具與解決方式,所以也只能沿用BIG-5編碼。同樣的到Google隨便找都會看到許多還在使用BIG-5與XOOPS 2.0.x或2.2.x版架設的網站。

為了能讓「聞字網」網站未來有更寬廣的發揮空間,所以這次遷移網站主機與網域,我決定同時完成將「聞字網」從BIG-5升級到UTF-8,並同時將XOOPS 2.0.13.2版升級到目前最新的XOOPS 2.0.16版。系統版本升級滿簡單容易,但是從BIG-5改成UTF-8的「轉碼」動作可就是大工程了!很多網站因此造成轉碼之後,衝碼中文字後面會有多了 \ 符號,或是多一個 r 的問題!這其實是因為 \r\n 這個 “Enter” 換行字元碼造成的關係。長痛不如短痛,早點升級改成UTF-8,對網站經營者與站長來說,才是比較正確與明智的抉擇。

這篇文章就是教站長們,如何把自己的網站從BIG-5改成UTF-8編碼,無論你是使用phpBB、XOOPS還是任何一套網站系統,只要是搭配MySQL資料庫,轉碼技巧全都適用喔!

在竹貓星球上有一篇討論與教學,大約能完成90%的轉換動作,剩下的10%,就由我來幫他補充完成,達到幾乎沒有亂碼,無縫轉換的完美程度!

【討論】:關於去掉 BIG-5 轉 UTF-8 衝碼字的反斜線 : http://phpbb-tw.net/phpbb/viewtopic.php?t=41901
神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 12:57am
關閉目前運作中的 BIG-5 舊網站

在備份整個網站的資料庫之前,當然要先關閉網站,以免又有不知情的網友,貼心的想要發表新的文章或是回覆文章。請用管理者身分登入,然後點選 “系統管理員選單”:



這個就是 XOOPS 後台管理畫面的一部份,最底下可以看到目前的版本還是 XOOPS 2.0.13.2。由於 XOOPS 改版速度太慢,幾近於 “超龜速”,所以這已經是很久以前的版本,目前最新的 2.0 系列版本是 2.0.16。不過這個版本的 “Upgrade” 升級模組有 bug,會導致 LDAP 功能異常!如果是全新安裝架設的網站,大概比較沒有問題。



在 “系統管理” 模組點選 “系統設定” 或是 “偏好設定”:



把 “暫時關閉網站” 改成 “是”,這樣子就只有管理者可以看到整個網站,建議你登出帳號確認一下網站是不是真的關掉了?



如果沒有 “登出” 就直接回到網站 “首頁” 的話...



其實看不出網站到底關掉了沒?請按一下 “登出”:



這樣子才會看到網站關閉的畫面,提醒你可以先到 “BNW 會議室” 逛逛,晚點再回來瞧瞧,但是要記得回來喔~不要到處亂逛到其他網站去了... :oops:

神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 12:58am
從租用主機備份資料庫

要從租用的網路主機轉移網站,當然要先把整個 MySQL 資料庫全部備份出來。打開網路主機廠商提供的 phpMyAdmin 網頁,先在左邊的面板點選要備份的資料,例如:wusin_test,再按一下網頁上方的 “輸出” 鈕,然後按 “全選” 匯出全部的資料表。



這種備份方式跟你直接在 phpMyAdmin 首頁點選 “輸出” 不同,沒有打開指定的資料庫,直接在首頁點選 “輸出” 再點選資料庫,會把整個資料庫全部匯出,因此在另外一台 MySQL 主機匯入資料庫的時候,就必須是使用相同的資料庫名稱。因為我想要更換資料庫名稱,不再使用 wusin_test,因此我用全選資料表的方式來匯出整個網站資料。

要提醒你的是... 在 SQL 選項的結構請點選 Add DROP TABLE、Add IF NOT EXISTS 這兩個選項,第一個會在 .sql 檔案裡加上刪除舊的資料表指令,第二個指令是如果資料表不存在的話,就自動新增資料表。這樣子可以減少匯入資料時候的錯誤。

請點選 “使用完整新增指令”:



接著點選 “下載儲存”,壓縮方式請選用 “zipped”,壓縮成 .zip 檔案。雖然 Linux 主機都支援 .gz 檔,不過使用這種格式,可能會無法完全解壓縮,解到一半就出問題!



phpMyAdmin 會把資料庫備份、壓縮好,然後自動下載為 wusin_test.sql.zip 壓縮檔。



解壓縮之後就會看到備份的 wusin_test.sql 資料庫檔案。

神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 12:59am
在 Mac 檢視備份的資料庫內容

所有的 .sql 檔案都是 “純文字” 檔案,基本上可用任何一個文字編輯工具開啟,不過呢... 如果是 BIG-5 HKSCS 編碼的檔案,這個檔案無論在 Mac OS X 還是 Windows 上都會遇到問題!

我用 “文字編輯” 以 Unicode(UTF-8)的方式來開啟 wusin_test.sql 資料庫檔,結果... 當然是無法開啟囉!



點選 “自定編碼列表...”:



再點選新增 “繁體中文 (Windows, DOS)” 編碼方式...



就可以新增更多的文件語系,既然 UTF-8 與 “繁體中文 (Mac OS)” 都無法開啟,試試看 “繁體中文 (Windows, DOS)” 吧~



居然說無法使用文字編碼的 “繁體中文 (Windows, DOS)” 來打開檔案! :-o



再點選全部的 “繁體中文” 編碼方式... 每種格式都測試看看,竟然沒有一種格式可以開啟這個 .sql 檔!事實上就算你改用著名的 BBEdit 也無法正確的開啟這個繁體中文編碼的 .sql 檔! :Orz



好吧,點選 “前往 / 連接伺服器” 把這個 .sql 資料庫檔案透過網路拷貝給 Windows 來試試看吧...



連接到 Windows 共享的 “網路檔案夾”:



把這個 .sql 檔案複製給 Windows。資料夾裡面的其他檔案是我先前所做的測試,等到網站租約到期以前,決定關閉的時候再做一次最後的備份。

神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 01:00am
在 Windows 檢視備份的資料庫內容

這就是同樣的檔案在 Windows 看到的畫面,整個 .sql 資料庫大約有 11MB 左右:



直接用 “記事本” 打開 wusin_test.sql 就會看到這樣的畫面... 嗯~有點奇怪對吧?



別以為資料庫的內容原本就應該長成這樣喔!事實上是因為 Linux 對於換行的方式與 Windwos 不同,所以原本應該換行的地方都沒有換行,整個 .sql 文件變成超大的一行段落!

在 BIG-5 編碼格式底下,最大的問題就是 “許功蓋” 這號蓋世人物的衝碼問題,為了避開文字內碼與 SQL 衝突,所以在後面補上了一個多餘的 \ 符號。



並不是每個 “許功蓋” 後面都會補上 \ 符號,你可以看到如果是在一行最後的位置,因為 \r\n 段落換行 (也就是 Enter 鍵) 的關係,會因此補上 \\rn 這樣的符號。

神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 01:08am
透過ConverZ把BIG-5轉UTF-8

雖然 Mac OS X 也有幾個還滿好用的轉換檔案內容編碼格式的工具,不過都沒有 ConvertZ 好用,只是你得用 Windows 2000/XP/Vista 來跑 ConvertZ 這個 Windows 版本的工具程式。

ConvertZ 除了可以轉換文字編碼方式,還可以同時幫我們搜尋、取代特定的文字,一次完成兩件事,又完全免費,還不需要安裝就能直接使用,真是相當不錯的 “站長必備工具”! :-)

你可以在原作者網站下載 ConvertZ:http://alf-li.pcdiscuss.com/c_convertz.html
ConvertZ 屬於環保的綠色軟體,無須安裝,只要將所有檔案解壓到新資料夾,然後直接執行 convertz.exe 即可。

要解決 “許功蓋” 等中文字與 SQL 指令衝突的問題,你可以用 “記事本” 建立一個搜尋與取代的對照檔,例如 “將BIG-5轉UTF-8修正” 或是 “修正許功蓋”,檔名隨便你取,但是副檔名必須是 .dat,因此得用右鍵指定用 “記事本” 來開啟 .dat 文字檔。



搜尋與取代的對照表就像這樣,把 “功\\” 取代為 “功”,刪除後面重複的 “\\” 雙反斜線符號。



除了有重複的 “\\” 雙反斜線符號,也有 “\” 單反斜線的情況,只有緊跟著這些字後面的 \ 符號才需要刪除,並不是把全部的 \\ 或 \ 全數刪除喔!



打開 ConverZ,在來源檔案把 wusin_test.sql 加入到轉換清單,再按一下 “進階選項”,點選輸入格式為 “Big5”、輸出格式為 “UTF-8”,請注意一定要記得點選 “語文輸出模式:繁體中文”,這樣才會轉換 “許功蓋” 的替換文字。



確定是 “Big5 > UTF-8 繁體”,點選畫面底下的 “轉換檔案內容” 再按 “開始轉換”:



轉換好了,總共花了 19 秒左右。在一台 Pentium III-1.0GHz 雙 CPU 的老舊電腦上能跑出這樣的成績算是滿快的了。



轉換好的 UTF-8 格式檔案會自動放在 “我的文件” 裡面,請先在檔名後面加上 utf8 字樣以便區隔:



直接用 “記事本” 打開這份文件,然後找一下 “許功蓋” 等字,看看後面的 \\ 或 \ 符號處理好了沒?嗯~果然處理好了! :-)



不過呢... 我發現如果 “許功蓋” 出現在一行的最後,剛剛的轉換編碼+替換文字的動作會把原本 \r\n 的 Enter 符號破壞掉!變成 r\n,這將會導致 “許功蓋” 結尾的那一行最後,會在網頁上看到多了一個 r!



這個問題要如何解決呢?其實也很簡單,那就是再轉換一次吧!我特別緻做了另外一個轉換檔:



檔案內容其實就是把 “功r\n” 的錯誤改回到 “功\r\n”,這樣子就可以更完美的修正,因為前面移除 \\ 與 \ 符號的問題喔~ :lol:



為了解省各位的時間,我把這兩個轉換 “許功蓋衝碼” 的 .dat 檔放在這裡,你可以點選連結把檔案下載回去:

http://bnwwoo.googlepages.com/big5utf801.dat
http://bnwwoo.googlepages.com/big5utf802.dat

要怎樣使用這兩個檔案呢?其實滿簡單的,在 ConvertZ 的工作列圖示上,按一下右鍵並點選 “程式設定”:



按 “匯入” 並點選指定的 .dat 檔即可:



按下編輯就可以在 “詞彙修正表” 這裡修改或新增替換文字:



這是剛剛第一次執行 \\ 與 \ 轉換的對照表,每次只能選用一種,處理的先後順序不可以相反喔!要先處理 “\\ 與 \” 修正,再處理 “r\n” 的修正!



這次要做的轉換動作是把 “輸入格式” 的 UTF-8 轉成 “輸出格式” 的 UTF-8,也就是編碼方式不變,但是要記得點選 “繁體中文” 以便取代我們想要修正的文字!



確定是 “UTF-8 > UTF-8 繁體”,就可以 “開始轉換” 囉~



轉換時間同樣需要 19 秒左右:



這就是轉換完畢的 UTF-8 編碼的 MySQL 資料庫檔案!這個檔案可以被 “記事本” 或是 Mac OS X 的 “文字編輯”、BBEdit 等工具直接開啟,而不會看到任何錯誤!



趕緊找一下剛剛的 “練功r\n”,果然現在被修正為正確的 “練功\r\n”! :lol:



OK,現在你已經學會怎樣把最重要的 .sql 資料庫從 BIG-5 完美的轉換成 UTF-8,如果你發現轉換之後的資料有亂碼,請檢查原始的 BIG-5 檔案,通常原始檔案裡面就已經是亂碼了!亂碼進、當然亂碼出... >:)

接下來把 BIG-5 網站程式,無論你是使用 phpBB、XOOPS 還是哪一套網站系統,都可以透過 ConverZ 來幫你轉換,只要點選整個目錄並按 “全部加入”,就可以一次轉好整個網站檔案夾!如果擔心轉換程式出錯的話,你也可以下載 phpBB、XOOPS 官方提供的 UTF-8 版本,直接覆蓋取代舊的 BIG-5 程式就行了。只是這麼做的話,要特別留意目前網站使用的程式版本。

如果還在使用舊的 BIG-5 版本,建議你先轉好 .sql 資料庫,並匯入到轉換好的 UTF-8 網站程式,最後再執行升級系統版本的動作。當然,你也可以在轉換網站系統之前,先把 BIG-5 的舊網站程式升級到最新版本,再做轉換 .sql 資料庫編碼語系的動作,最後直接用 UTF-8 新版程式覆蓋舊版。

如果你有自行修改過 phpBB 或 XOOPS 程式碼,就不適合用 “取代舊版程式” 的做法,只能採用升級網站系統的方式。這部份就不在這裡討論了。
神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 01:11am
匯入 UTF-8 編碼的資料庫到 MySQL

透過網路上的芳鄰把轉換好的 wusin_test utf8.sql 傳回到 Mac OS X,如果你不會的話,也可以透過 “隨身碟” 等其他儲存設備。



這次直接用 “文字編輯” 就可以開啟 UTF-8 編碼的 .sql 資料庫囉! :lol:



我不喜歡用 phpMyAdmin 來管理資料庫,有更直接好用的工具,幹嘛不用呢?請使用 MySQL 提供的 MySQL Administrator 來管理資料庫吧~
先按一下 “Catalogs”,並點選要匯入的資料庫,如果是第一次匯入資料庫,你得先按一下 “+” 號鈕,新增一個 xoops 之類的資料庫,再按一下 “Restore” 工具鈕,這樣子 MySQL Administrator 才會知道你要把 “備份的資料表” 匯入到哪一個資料庫裡?

請按 “Choose File...” 並點選要匯入的資料庫檔:



要選 “wusin_test utf8.sql” 喔~資料的編碼格式為 UTF-8!



在正常的情況下,不需要點選 Options 的兩個選項,只要直接按 “Restore Backup” 即可,如果會看到錯誤訊息,很可能是在 phpMyAdmin 匯出資料的時候沒有選好,你可以在 MySQL Administrator 刪除舊的資料庫,重建一個新的資料庫,再重新匯入看看。



如果有錯誤訊息,一定要想辦法解決,否則資料很可能沒有完整匯入!遷移後的新網站也可能因此無法正常運作!



正在 Restoring 回存備份的資料庫...



回存完畢囉!請檢查看看資料表數量是否與舊的資料庫相同?如果有短缺,肯定是前面在 phpMyAdmin 匯出的時候點選了錯誤的選項,該選的沒選,點選了不該選的項目。



雖然你也可以用 “Ignore SQL errors” 略過 SQL 指令錯誤來匯入資料,不過通常在這種情況下,匯入的資料都不完整!



總共匯入了 126 張資料表,你可以與 phpMyAdmin 比對看看,是不是同樣的 126 張資料表格?當然囉,這是我們的網站,你的網站會因為安裝的模組不同,資料表數量也不相同。



再次提醒你,要記得點選 phpMyAdmin 最前面的這兩個重要選項,再匯出資料庫:
■ Add DROP TABLE : 加上刪除資料表指令。
■ Add IF NOT EXISTS :加上檢查資料表示否不存在的指令。

神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 01:13am
最後的檢查工作:比對新、舊網站是否一致?

這是舊的「聞字網」網站:



這是新的搬家後的「BNW 時尚藝文館」網站,請留意兩個網站的網址不同,但是網頁內容應該幾乎完全相同喔~



我點選「聞字網」其中的一篇公告網頁,讓你再仔細比對一下:



接著點選「BNW 時尚藝文館」相同的一篇公告網頁畫面,請比對看看是不是一模一樣呢? :-)



表面上一模一樣的網站,骨子裡可完全不同喔!我把「聞字網」的 “顯示方式 / 文字編碼” 改成 “Unicode (UTF-8)” 就會看到整個網站通通變成亂碼!必須點選 “預設值” 或是 “繁體中文 (BIG5 HKSCS)” 才能恢復正常。



同樣的動作,將瀏覽器的 “顯示方式 / 文字編碼” 改成 “Unicode (UTF-8)” ,你會看到「BNW 時尚藝文館」並沒有出現亂碼,反倒是故意點選 “繁體中文 (BIG5 HKSCS)” 的時候會出現亂碼!



也就是說,我們已經把一個過去以 BIG-5 架設的網站,成功的轉移到新的網址、新的網站、新的資料庫 (資料庫名稱與過去不同),新的 UTF-8 多國語系編碼方式! :lol: :lol:



現在直接在 “搜尋文章” 輸入 “練功”,找找看剛剛的 “許功蓋” 以及 “r\n” 修正處理,到底有沒有轉換成功?



嗯嗯~你可以看到這裡的 “練功” 後面並沒有多了一個 \ 反斜線編碼喔!



而另外一行結尾的 “練功” 同樣 100% 完美!不但後面沒有多餘的 \ 反斜線,也沒有多餘的 r 字元喔~真是太完美、太棒了! :lol: :-)



其實要感謝的還是 “竹貓”,他們幫我完成了前面的 90%,我只是在後面補上缺少的那 “r\n” 修正的 10% 而已,呵呵~ :lol:
神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。
虛擬画像
作成: 04/29/07 01:17am
附錄:將BIG5轉UTF8編碼修正2.dat

代碼: 全部選択
-1,-1,-1,-1,-1,-1
修正前,修正後
么r\n,么\r\n
功r\n,功\r\n
吒r\n,吒\r\n
吭r\n,吭\r\n
沔r\n,沔\r\n
坼r\n,坼\r\n
歿r\n,歿\r\n
俞r\n,俞\r\n
枯r\n,枯\r\n
苒r\n,苒\r\n
娉r\n,娉\r\n
珮r\n,珮\r\n
豹r\n,豹\r\n
崤r\n,崤\r\n
淚r\n,淚\r\n
許r\n,許\r\n
廄r\n,廄\r\n
琵r\n,琵\r\n
跚r\n,跚\r\n
愧r\n,愧\r\n
稞r\n,稞\r\n
鈾r\n,鈾\r\n
暝r\n,暝\r\n
蓋r\n,蓋\r\n
墦r\n,墦\r\n
穀r\n,穀\r\n
閱r\n,閱\r\n
璞r\n,璞\r\n
餐r\n,餐\r\n
縷r\n,縷\r\n
擺r\n,擺\r\n
黠r\n,黠\r\n
孀r\n,孀\r\n
踊r\n,踊\r\n
髏r\n,髏\r\n
躡r\n,躡\r\n
尐r\n,尐\r\n
佢r\n,佢\r\n
汻r\n,汻\r\n
岤r\n,岤\r\n
垥r\n,垥\r\n
柦r\n,柦\r\n
胐r\n,胐\r\n
娖r\n,娖\r\n
涂r\n,涂\r\n
罡r\n,罡\r\n
偅r\n,偅\r\n
惝r\n,惝\r\n
牾r\n,牾\r\n
莍r\n,莍\r\n
傜r\n,傜\r\n
揊r\n,揊\r\n
焮r\n,焮\r\n
茻r\n,茻\r\n
鄃r\n,鄃\r\n
幋r\n,幋\r\n
滜r\n,滜\r\n
綅r\n,綅\r\n
赨r\n,赨\r\n
塿r\n,塿\r\n
縷r\n,縷\r\n
槙r\n,槙\r\n
擺r\n,擺\r\n
箤r\n,箤\r\n
踊r\n,踊\r\n
嫹r\n,嫹\r\n
髏r\n,髏\r\n
潿r\n,潿\r\n
蔌r\n,蔌\r\n
醆r\n,醆\r\n
嬞r\n,嬞\r\n
獦r\n,獦\r\n
佢r\n,佢\r\n
螏r\n,螏\r\n
餤r\n,餤\r\n
燡r\n,燡\r\n
螰r\n,螰\r\n
駹r\n,駹\r\n
礒r\n,礒\r\n
鎪r\n,鎪\r\n
瀙r\n,瀙\r\n
酀r\n,酀\r\n
瀵r\n,瀵\r\n
騱r\n,騱\r\n
酅r\n,酅\r\n
贕r\n,贕\r\n
鱋r\n,鱋\r\n
鱭r\n,鱭\r\n
會r\n,會\r\n
育r\n,育\r\n
﹏r\n,﹏\r\n
神の一手はオレが極めるんだ
『進藤 ヒカル』(しんどう ひかる)は1998年~2003年に、「週刊少年ジャンプ」で連載された『ヒカルの碁』(ひかるのご)に登場する小学校6年生の少年で、主人公である。祖父の家の蔵で古い碁盤を見つけ、その時に『藤原 佐為』(ふじわらの さい)に取り憑かれてしまう。

hollowaysxp さん

虛擬画像
作成: 04/30/07 01:19pm
光哥的轉換方式看了之後大概了解方法了。

我之前也是用phpBB2.0.21 Big5版,資料庫校對瑪是Big5。
轉換方式是把資料庫備份成Mysql 4.0的形式。

然後再把Mysql4.1校對碼改成跟Mysql4.0預設一樣的編碼方式拉丁文。
再把資料庫還原這樣子資料庫就轉變成UTF-8了 :shock:
我的主力機:Intel Core 2 Duo E7400 + DDRII 800 2GBx2+Windows 7 Ultimate 64bit
我的藍白G3:G3-400MHZ+512MB+Mac OS X 10.4.11
トースト猫のブログ