Moya's Blog

About

慈濟大陸賑災、緬甸風災捐款: External link mark
郵政劃撥帳號-06692433
戶名-佛教慈濟基金會賑災專戶
(註明四川震災或緬甸風災)
慈濟捐款網站請按此 External link mark


處順境若能慈悲,則後福自在,仆逆境倘得智慧,則遺禍自消,於順境若能不喜,則後患不至,當逆境或能捨得,則福自踵來。此慈悲喜捨,便是大般涅槃無上妙法,入世行者或能三思。


《既然清淨,何必有網?》
《譬如大日,遍照不爽。》
《上下十方,無為自在;》
《因陀羅手,去曼達礙。》


靜思晨語系列 獅子吼大德 慈濟的好友 雅虎的好友 老骨頭級的朋友

23 Nov 2007 - 12:28 in , by MoyaTseng
TWiki 的 BlogPlugin 所採用的 TWikiForm 的方式在運作的,然而 TWikiForm 則是透過 renderForEdit 預先拆解文件後才轉為 Form 提供重新編寫,會出現亂碼。問題在於 Form.pm 當中的 renderFieldForEdit() 採用了 CGI::textarea() CGI::textfield() 等將文件的內容切割成數個欄位提供編輯使用。
解決方法?有是有啦,不過不是什麼很好的方法,而且就我自己看來,這個解法還真的有點無賴。

不是直接修改 TWiki 或是 BlogPlugin 的任何地方。因為這個問題其實是 CGI.pm 的 default charset 的問題。其實應該也可以修改 TWiki 的主程式讓他可以在乎叫 CGI.pm 的時候,先把 default charset 設定好,但是要改的地方可能會讓人發瘋,所以小弟我採用了最偷懶的方法,而且一定有效的方法。

請找到你的 CGI.pm 是裝在那裡,如果很不幸的,你又裝了一堆版本的 perl 和 perl extensions,包括 CGI.pm,那請你一定要搞清楚你目前真正使用到的版本是哪一個?

FreeBSD 上內建的是: /usr/local/lib/perl5/5.8.8/CGI.pm

如果有自己裝 CGI.pm ports 的話,則是: /usr/local/lib/perl5/site_perl/5.8.8/CGI.pm

找到 CGI.pm 之後,編輯他。在程式裡面有一行

$self->charset('ISO-8859-1');

這個就是問題的來源,既然我們都已經採用 UTF-8 的編碼系統來解決字碼的問題,那就乾脆把這一行換成:

$self->charset('UTF-8');

然後就天下太平了。這個當然不是什麼正式的解決方法,不過「有效」!有效最重要。


Leave a Reply

You may have to login or register to comment if you haven't already.

訪客統計: 4100 人次



請按此訂閱每日人間菩提。靜思晨語 External link mark
本站所有言論均不代表慈濟基金會 External link mark


我為你祝福
我也要許願

r4 – 10 Sep 2008 – 17:28:16 – Main.MoyaTseng
Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding Moya's Blog? Send feedback.