Migration Gallery from Big5 to UTF-8
「想要把Gallery從Big5轉換到UTF-8」,這個念頭其實已經很久了。在這個UTF-8盛行的年代,blog也是UTF-8,但是藝廊卻因為歷史的因素而停留在Big5。雖說Gallery有支援Localization,可以轉換界面的編碼,但是所有相簿的標題跟描述都還是Big5,一換成UTF-8之後就是亂碼。Gallery的網站中好像也沒有相關的轉換程式……
於是在某一個什麼事都不想幹的午後,看到了IRC上的某一句話,就突然立了個志,寫了個轉換程式出來……..
在PHP下要從Big5轉到UTF-8,其實還有點傷腦筋,在 zonble的這篇「PHP、XML、以及字元編碼:一則關於悲情、憤怒以及傷逝(資料)的故事」中有提到用XML、mbstring或是iconv來實作。由於不一定每個PHP都有在編繹時加入 mbstring 或是 iconv的選項,因此我本來是想使用某一獨立的模組或是class來作這一部份的轉換的。只是網路上找了一下好像沒找到,而我又不想自己花大時間重新發明輪子,最後只好退而求其次,呼叫UNIX下常見(文件上是這麼說的)的iconv獨立程式來作轉換。效率雖然差了點,不過反正轉換程式才跑一次,慢一點應該無所謂,只要不跑到timeout就好了
需要的人可以到這兒下載,要注意的是,由於安全上的顧慮,在轉換完之後記得把script從Gallery目錄下移除
文後附上簡單的README。
##############################################################################
# The Script is for migration from Big5 to UTF-8 for gallery (http://gallery.sourceforge.net/)
#
# To use this script, you don’t need to have mbstring or iconv compiled in PHP.
# But you have to have iconv in your system.
#
# If you have mbstring or iconv compiled in you PHP, you can rewrite the “big52utf8″ function
# to achieve the better performance(although such kind of converson tools do not urgely need
# “Performance”)
#
# The First thing you need, and you must to do is “BACKUP YOUR ALBUMS”!
#
# After upload the script on to your server , you have to put the script in you gallery dir.
# And modify the variable $iconv_loc and $albumdir.
# The open your browser and input the URL of this script.
#
# The script will first list all files it find to be translated from Big5 to UTF-8.
# You can click [UTF-8] to preview the result.
# When you are ready, click the “Convert all file from big5 to UTF-8 ” below the list.
# It will take a while, but is worth.
#
# At last, don’t forget to download the language pack from gallery main site and install it.
#
# Now, you can have your gallery “Unicoded”
#
# AND…DON’T FORGET TO DELETE THIS SCRIPT FROM YOUR GALLERY DIRECTORY, OR IT MAY CAUSE
# SERIOUS SECURITY PROBLEM!!!
#
# This script is GNU licensed, if you need any further help, you can e-mail me.
#
# PipperL (pipperl@serv.idv.tw)
# http://blog.serv.idv.tw
#
###################################################################################
延伸閱讀
更多閱讀選擇
- [同類] 修改 Aggregate.pm
- [同類] 命令列下的MSN – pebrot
- [標籤] 本文尚無標籤
- [2009] 遠方的浪漫
- [2008] 陸客來台叫回家
- [2005] 有沒有可加Tag的 Online RSS Aggregator?
- [隨機] 幾個寫部落格時應該避免的主題
文章資訊
- 所屬分類:Software
- 最後修改:2004/07/04 14:03
- 引用本文:Trackback URL
- 訂閱迴響:Comments RSS

- 文章授權:參閱創用CC或連絡作者
- 了解本站:本站導覽、回到首頁
- 收藏本文:
忘了說:
Gallery 的 zh-TW(UTF-8) Localization真的蠻鳥的…..
請問如果我是用php5的版本,是不是就不能用這個程式了?
苦惱中~
ivan:
我沒裝過跟跑過 PHP5
不過應該是可以用的才是。
建議你備份之後試試。
我測試過了,好像不能用,我不知道在windows下,要怎麼處理。(位置、路徑之類的)
因為php5沒有支援iconv.dll說,它自己內建語系轉換的功能了。
C:\AppServ\www\albums
C:\php\ext
這兩個路徑是直接在您提供的php裡對吧?
不好意思,我有點不太知道怎麼處理。但如果您可以稍微簡單講一下在windows下怎麼弄?或者是我先換成php4來轉換,之後再換成php5嗎?
我的做法其實很簡單:
“由於不一定每個PHP都有在編繹時加入 mbstring 或是 iconv的選項,因此我本來是想使用某一獨立的模組或是class來作這一部份的轉換的。只是網路上找了一下好像沒找到,而我又不想自己花大時間重新發明輪子,最後只好退而求其次,呼叫UNIX下常見(文件上是這麼說的)的iconv獨立程式來作轉換。”
如果 PHP5 有把內建語系轉換作出來(我看了一下,好像指的是內建iconv),,那就更簡單了,把big52utf8()這個函式改寫,直接呼叫iconv相關的函式就好了。
感謝PipperL兄,你可以寄給我新的這支php嗎?
還有就是請教你有關windows系統下,這應該怎麼設定?如果按照我前面寫的路徑。
ivan:
我沒有改寫出新的程式啊。
我只有看了一下原來的程式碼,找出需要修改的地方而已。
要修改的話可能還是要靠你自己,不過應該不難,只要有一些基本的PHP基礎就可以。
只跑60秒的php
奇怪的 php @_@
參考 Migration Gallery from Big5 to UTF-8
想把 Gallery1 從 big5 轉成 utf-8。
奇怪的是明明 php.ini 裡的 max_execution_time 數值改了, phpinfo() 看起來也確實有改沒錯,可是跑一跑還是告訴我
Fa…
只跑60秒的php – 續
上回說到想轉換 Gallery1 的語系老是60秒就停止,搞了半天不曉得怎麼回事,剛剛 trace 一下才終於發現我又白爛了~”~
在 Migration Gallery from Big5 to UTF-8 的轉換程式裡,會引入 Gallery1 原本的 i…
成功轉換了
謝謝你的php程式,解決我苦惱的一段時間的問題
Convert Gallery 1.x from Big5 to UTF-8
今天把 Gallery 從 Big5 轉換到 UTF-8 感謝 PipperL 所提供的 轉換程式 如果 albums 目錄不在 gallery 目錄下, 要改一下 $albumdir 執行後, 按最下面的 Convert all file from big5 to UTF-8 zh_TW.utf8 語系檔可以在 Galler…
終極邊疆BLOG
「想要把Gallery從Big5轉換到UTF-8」,這個念頭其實已經很久了。在這個UTF-8盛行的年代,blog也是UTF-8,但是藝廊卻因為歷史的因素而停留在Big5。雖說Gallery有支援Localization,可以轉換界面的編碼
BBS to WordPress via XML-RPC 實作說明…
工具準備
ANSI2HTML 之 function
(可參考 bhttpd.c 或是直接…
[...] 然後再根據PipperL的Migration Gallery from Big5 to UTF8 改寫gallery_big5_utf8.phps 作出EUC-JP轉SHIFT_JIS的script 大致上轉換沒問題 只有一個人名出了問題 可能是iconv裡EUC-JP轉SHIFT_JIS的table有小差錯吧 [...]