跳到主要內容

發表文章

目前顯示的是 12月, 2008的文章

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後若

Googlt Bot會找漏洞

今天看到 網站多久沒健檢了 ,就用 SQLInjectionFinder 掃一下Log,發現有個IP在掃SQL Injection漏洞,字串裏有CAST(...。 IP是: 66.249.70.180 ,沒想到原來是Googlebot,這是怎樣呀?幫我掃有沒有SQL Injection的漏洞?看來要寫個 robots.txt 了。 Update:不知為何微軟把SQLInjectionFinder的下載移除,我放一份SQLInjectionFinder在 http://www.badongo.com/file/12617378 。 MD5Sum為 2b1896c5fb676447c51f79026d12397d

OpenWebMail 有更新了

最近在FreeBSD 做 portupgrade 時發現 OpenWebMail 常有更新,查了change log發現最近幾個月有人在修正bug,以前不堪用的utf-8,也變成不錯用。 今天把預設語系改成utf-8,大部份big5信件標題不再是亂碼,在預設的gb2312->utf-8轉換失敗時也可以手動把語系改成gb2312直接閱讀,總算變得比較好用了。 更重要的是,收到UTF-8信件已經不會在標題出現[UTF-8?]的字,用Windows Live Mail收UTF-8標題也正常,看來email終於進化到全UTF-8的時代,可以不再預設用Big5寫信。

簡單的同步程式

最近有個簡單的檔案同步需求,只增不刪的單向同步,因此寫了一支小程式。 剛好看到 Java application frameworks come to .NET ,二話不說就用C#寫。 完整程式如下: using System; using System.IO; using System.Collections.Generic; using System.Text; namespace DirSync { class DirSync { static void Main(string[] args) { if (args.Length < filepathnames =" Directory.GetFileSystemEntries(Src);" destfilepathname =" Dst"> 0) { // 若 source時間比較晚則覆寫 FileCopyWithException(pathname, destFilePathName); } } else { FileCopyWithException(pathname, destFilePathName); } } } } private static void FileCopyWithException(string pathname, string destFilePathName) { try { File.Copy(pathname, destFilePathName, true); }

FreeBSD上libtool的錯誤

今天要把 clamav升級到0.94.2時出現 libtool: unknown library version type `freebsd-' 的錯誤訊息。 查了一下, 這 裏說把/usr/bin/objformat移掉就可以。 發現系統上的/usr/bin/objformat日期果然是幾年前,再去 /usr/src/usr.bin/objformat看,原來objformat.sh的註解說 /usr/bin/objformat has been obsolete and deprecated for years. (略) FreeBSD-5.x and higher only support elf. 所以就直接 rm /usr/bin/objformat 可是真不懂,為什麼會在我升級kernel到 FreeBSD 7.0-RELEASE-p6 才出問題,之前升到7.0也用了一年多怎麼都沒事?