2007-10-18
Tags: 程式語言
這份Part II的Memo,主要是記載URL中帶東方語系的變數值(中文、日文...etc)時,URL經由Apache Http Server轉發後可能產生亂碼的解決之道。
首先...我假設的前題是這樣的。你的網頁是UTF-8編碼,你的JSP網頁的檔頭也宣告UTF-8編碼,也就是環境中都統一UTF-8編碼。
當發現轉發的URL裡帶的變數值變亂碼時,要查的順序是下面這樣
話說...我會記這篇Memo當然是有些原因的。因為該死的DisplayTag分頁功能就是因為這個URL編碼的問題給你出包,讓你的中文字變亂碼。解法是好不容易找到了,也真的很好改,只花十秒就可以搞定了。但是...為了解這個怪問題卻花了我四五個小時在官方網站跟Google上面找解。在解決之後內心的OS只有一句,那就是:「趕羚羊累...真它媽的!!!」。如果...是如果啦...未來有機會從無到有打造Web系統的話,我看改用Apache Wicket好了,這樣就可以脫離Displaytag的魔掌了...XDD
useBodyEncodingForURI="true" URIEncoding="UTF-8"
的參數值。參數設定明細可以參考這裡。
JkOptions
參數值設定,看看是不是它偷偷的幫URL"加料"。參數設定明細可以參考這裡。
AddDefaultCharset
這類的語系設定強制它一定要走UTF-8編碼。參數設定明細可以參考這裡。