jetty中文問題一直沒有tomcat做的好,所以經常出現中文亂碼問題。
工作中用到了jetty-m**en-plugin,用jetty和m**en配合部署發布專案,但是在瀏覽器中請求的時候總是出現中文亂碼,而把專案部署到tomcat下面則一切正常。由於一直比較忙,加上線上環境用的是tomcat,不影響工作,就沒有去解決它。今天看著那些奇形怪狀的亂碼實在是感覺不舒服,就抽出些時間檢視了下相關方面的問題。
谷歌百度了一陣,發現了很多這方面的問題,但是跟我的問題都不一致。也試了更改jetty版本等一些解決方案,都行不通。
於是調出chrome瀏覽器的開發者工具(在chrome中按f12鍵),詳細檢視了下相關的request和response的相關引數,發現程式response的內容也是沒問題的,就是在瀏覽器解析的過程中發生了亂碼。並且在比對了jetty和tomcat的引數時發現,
tomcat的response:
content-type:text/html;charset=utf-8
jetty的response:
content-type:text/html
看來這兒肯定有問題,再加上谷歌上找到的一些資料,我想到了用response重新設定contenttype,相關**如下:
再測試了下,亂碼終於不見了。一切正常。
另外,在web.xml中也要配置相關的encodingfilter以用來使編碼變為utf-8,配置如下:
encodingfilter
org.springframework.web.filter.characterencodingfilter
encoding
utf-8
forceencoding
true
encodingfilter
/*如有不懂的,歡迎留言討論。
解決中文亂碼問題
這幾天遇到一些關於action中獲取jsp頁面a標籤的值會出下一些亂碼問題。自己做了一些相關的總結。解決這個問題要找到根本原因,如果以下 在action類中獲取value,如下 這樣子得到的值如果是中文可能會出現中文亂碼,原因是jsp經過伺服器tomcat請求action,tomcat預設編碼是 i...
解決中文亂碼問題
1.解決post方式提交form表單中文亂碼問題 request.setcharacterencoding utf 8 string test request.getparameter username 2.解決get方式提交form表單中文亂碼問題 超級鏈結處理方式也是類似的 string tes...
中文亂碼問題的解決一
協議a 協議是基於請求相應模式的協議,客戶端傳送乙個請求,伺服器端返回該請求的響應。是建立在 tcp ip 為基礎的高層協議。協議第乙個版本是 後來發展到了 現在最新版本是 被廣泛使用。請求i.請求方法 uri 版本ii.請求頭iii.請求正文 請求頭和請求正文之間是乙個空行 回車換行 這個非常重要...