跳到主要內容

HTML Tidy Eclipse中文處理

最近有訂閱在下的巴布/Twitter的朋友,應該知道小弟這幾天想把企業內部的IE only網頁改成標準符合W3C語法,並將舊的big5網頁改為utf-8。除了難搞的IE DHTML和標準DOM差很多之外,早期全大寫的html tag在Aptana看到實在很不順眼,還有屬性內容沒有加上"或',就興起找工具來處理的念頭。

最有名的工具當然就是HTML Tidy,中文預設輸出成unicode表示法,但還是可以加上 -utf8 的參數強制輸出成 utf-8。

Aptana 1.2.0版之後內建很類似HTML Tidy Eclipse Plug-in的HTML Tidy功能,居然也有相同的Bug:設定成utf-8後中文輸出亂碼。

由於HTML Tidy Eclipse Plug-in使用JTidy這個2001年之後沒動過的project,於是就從這裏下手。(警告:以下hack非常dirty,而且只在utf-8編碼系統有效,只在Ubuntu上成功,Win32無效)

下載jtidy-04aug2000r7-dev.zip解開後,
在jtidy-04aug2000r7-dev/src/org/w3c/tidy/Configuration.java第471列,把int result = ASCII; 改成 int result = UTF8;
另外Aptana版的HTML Tidy不能關掉generator訊息,因此我把 Lexer.java第522列的addGenerator(Node root)裏的內容直接改成 return true;
在編輯時會有enum是keyword的錯誤訊息,所以再改Configuration.java第126~129頁的enum變數名稱為enu。
接下來在jtidy-04aug2000r7-dev目錄下輸入 ant 命令就會在build目錄下產生Tidy.jar。
把新做的Tidy.jar覆蓋aptana/plugins/com.aptana.ide.libraries_1.2.1.18697 (隨著版次數字會變)下的Tidy.jar即可。(這裏放一份我做的)

在Win32下要改編碼建議用ConvertZ,在Linux當然就用iconv,轉碼為UTF-8後就直接用Aptana編輯,Run HTML Tidy後若不習慣Tidy的縮排方式,再Format一次後HTML碼就很漂亮(為什麼Aptana不能直接整合呢?)。

留言

這個網誌中的熱門文章

自然人憑證讀卡機驅動程式

鳥毅用的是第一代的自然人憑證讀卡機,EZ100PU(後來有同事買EZmini可以讀SIM卡似乎更好),每年報稅時用一次。 本來只是要申請些政府業務,一時之間找不到光碟,沒想到在 驅動程式下載 居然看到Linux和Mac的驅動程式,剩下的就是政府單位的網頁和程式應該改版了吧!!!

DBeaver 介面語言

DBeaver是我個人頗常用的一套跨平台Database管理工具,最近升級後發現Windows版本居然變成簡體中文,而且無法切換為英文。

如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表

一般若是要將SQL Server裡的Database轉往其他Server時,最簡單的方式就是備份(Backup)後再還原(Restore),或者是䣃離(detach)後附加(attach)。 但是很不幸地,若是由較低版本(e.g. 2008)到較高版本(e.g. 2012)要怎麼辦呢?