將html原始碼裡的&#XXXX;轉成Java String:
請參閱 - http://blog.xuite.net/akuox/caffeine/56839711
部落客廣告聯播
2012年6月28日 星期四
2008年5月12日 星期一
Request encoding與 Filter與中文亂碼
故事是這樣的,我的web-app中有兩個filter
- CharEncodingFilter - 針對所有request作request.setCharacterEncodin("utf-8");動作,避免亂碼
- SessionCheckFilter - 檢查session是否timeout,並做些附加動作
然而亂碼所有設置照理講我都做了,卻還是看到亂碼??
這到底怎麼回事呢??
答案是針對同個request只要做過getParameter( )後,即使再作setCharacterEncoding( )動作, 後續再getParameter( ) 還是會使用舊的encoding取出parameter而得到亂碼 , 所以說若要避免亂碼則setCharacterEncoding要在所有getParameter動作前呼叫!
然而在我的情況下作debug發現我的sessionCheckFilter在charEncodingFilter之前執行,而我的sessionCheckFilter剛好有做getParameter動作 , 所以當然即使我的charEncodingFilter有執行,但怎樣取都是亂碼的啦!!
而Filter執行的順序是基於何呢??
經過嘗試答案是 在web.xml中
照理說setCharacterEncoding( )在getParameter( )後無效的話,應該丟個Exception出來, 這樣設計也才讓人知道說 問題出在哪, 然而實際上就是沒有, 這....
訂閱:
文章 (Atom)