2007-10-18
Tags: 程式語言
這份Part II的Memo,主要是記載URL中帶東方語系的變數值(中文、日文...etc)時,URL經由Apache Http Server轉發後可能產生亂碼的解決之道。
首先...我假設的前題是這樣的。你的網頁是UTF-8編碼,你的JSP網頁的檔頭也宣告UTF-8編碼,也就是環境中都統一UTF-8編碼。
當發現轉發的URL裡帶的變數值變亂碼時,要查的順序是下面這樣
- 查看Tomcat的Server.xml設定檔的JK Connector設定,加入
useBodyEncodingForURI="true" URIEncoding="UTF-8"
的參數值。參數設定明細可以參考這裡。
- 上述這項如果失效的話,就要去查JK本身的
JkOptions
參數值設定,看看是不是它偷偷的幫URL"加料"。參數設定明細可以參考這裡。
- 如果這樣還是不Work,那就只好再往前查,看看扮演Loadbalance Server的Apache Http Server是不是雞婆的在URL中進行了非UTF-8的編碼。在httpd.conf設定檔中加進
AddDefaultCharset
這類的語系設定強制它一定要走UTF-8編碼。參數設定明細可以參考這裡。
- 如果到了這地步還不行!!!...那我也不知道該怎麼辦了...換你告訴我吧...囧rz