睡蓮‧池水間

Guest
2012-Feb-12  
0 位會員和 9 位訪客在線上

文章 :: xoops

將亂碼的資料備份還原為正常中文

睡蓮
 
池水間 
子標題:亂碼還原 - 上
以往本人要維護XOOPS 2.0.** 網站,常要使用自行上傳到空間且修改過編碼設定的phpmyadmin,而主機商提供的phpmyadmin則打入冷宮。現在,不管主機商的MySQL預設編碼為何,最新的XOOPS2.3.* 版可以讓主機商的phpmyadmin解凍。

曾在不久前於同一環境下再度安裝全新的兩個不同版本XOOPS - utf8 測試站,兩者皆用同一文字編碼與連線校對( UTF-8 Unicode ),再以主機商提供的phpmyadmin瀏覽,所得的結果是XOOPS 2.0.* 會出現亂碼,而XOOPS 2.3.* 則安然無事,中文顯示正常,由此可見XOOPS 2.3.* 在編碼方面已有明顯的改善。

雖然xoops 2.3.* 已改善了編碼方面的問題,但若是從舊版本升級至2.3.*,由於資料本質仍是以前的亂碼,升級後用主機商提供的phpmyadmin瀏覽,依然不能看到正常中文。若要使之正常,便要將主機商的phpmyadmin備份出來的亂碼資料還原為正常中文,而所需的工具就僅用一個輕便又強大的 EmEditor Professional 文字編輯器。

以下是在一個臨時建立的測試資料夾下所作的範例演示,建立於影子系統之下,儲存於此的資料檔案格式為sql,已在完成所有範例製作後重新啟動電腦,還原至沒有建立測試資料夾的狀態。

此例演示中的 EmEditor Professional 為已升級至最新版本的 8,與之前常用的版本7的不同之處在於多了如下圖7的警告視窗。

現在就來看看如何將亂碼還原成正常中文:

圖1) 開啟舊檔


圖2) 在跳出的視窗中,「檔案類型」選SQL >>「編碼」選UTF-8 >> 「全部偵測」打勾 >> 按下開啟按鈕


圖3)按下按鈕後跳出如圖的視窗,自動偵測出UTF-8的準確值為100,這時不需作任何變更設定,就按下開啟按鈕。


圖4)

圖 4a:這是其中的亂碼地方,是使用utf 8,實際以latin 1儲存的結果;


圖 4b:為版本資訊,紅框可以看到 set names 是 utf8;


圖 4c:紅框裡的編碼與連線較對皆為utf8。在這亂碼的資料備份裡面,只有「註解」地方(如下圖)是正常中文。


圖5) 要將亂碼還原為正常中文,那麼就另存新檔,下一步便要將utf 8編碼逆向存為latin 1


圖6)建立新檔名 >> 存檔類型選 SQL >> 編碼選西歐語系iso-8859-1(也就是latin 1) >> 按下儲存按鈕


圖7) 這時會跳出警告視窗,不用擔心,編碼變更只影響不是latin 1的中文「註解」地方。繼續點選最下面綠框一項,按確定。


圖8) 新增頁籤,然後將剛存檔好的第一個頁籤關閉。


圖9) 在新頁籤上開啟舊檔 >> 選擇剛存好的新檔案 >> 檔案類型為SQL >> 編碼選UTF8 >> 「全部偵測」不打勾 >> 按下開啟鈕


圖10)

圖10a:之前圖4a 的亂碼地方,此時已還原為正常中文


圖10b:這是將編碼逆向存為latin1後的結果,由於這部分只是作註解之用,不會影響資料的正常使用。


整個還原過程已完成,可以將資料匯入phpmyadmin 裡的xoops 2.3.* 了。

分頁: 1 2 »

子標題

  1. 亂碼還原 - 上
  2. 亂碼還原 - 下
    «« CSS 註解對IE 6 的影響 讓個別模組單獨顯示於評論區塊 »»    

引用

  • 文章地址: http://waterlily-lsl.com/modules/article/view.article.php/c11/182
  • 引用地址: http://waterlily-lsl.com/modules/article/trackback.php/182

評分

10
9
8
7
6
5
4
3
2
1


 

API: RSS | RDF | ATOM

回覆及設定

    關閉


 

最 新 發 表 及 資 訊 區

此為池水間 banner ,需要安裝 Adobe Flash Player 才能觀看內容。

最新留言

最新留言:2012-Jan-6 11:13am
留言編號:76
留言者: wuji888
網主回覆:
總留言數: 71

前往萍踪留影

造訪統計

今天:586
昨天:544
本週:586
本月:6426
總計:376810
平均:292

連結

Powered By XOOPS
Valid XHTML 1.1
Valid CSS 3
登 入