request.setCharacterEncoding("UTF-8")這個編碼設置的小問題

servlet設置好這個編碼,在什麼狀況下起做用的? post

通常咱們都把這個設置在filter層設置,隨着時間的流逝,就認爲只要設置這個編碼,容器就會響應的請求的數據按着設置好的編碼執行。實際上錯了,這個編碼既然通常放在過濾器,仍是有必定道理的。實際上是再SERVLET處理請求以前,通過過濾器時以咱們設置的編碼對數據作了編碼。若是沒設置TOMCAT是按默認的ISO-8859-1編碼。 編碼

若是業務中出現亂碼,切記不要再其餘位置隨意的設置setCharacterEncoding,想反在業務中處理要使用new String(req.getParameters("xxxx").getBytes("iso-8859-1"), "gb2312"); spa

以上過濾器類只能保證post提交方式能正確解碼。get方式依然會出問題 get

相關文章
相關標籤/搜索