tomcat 編碼問題

2021-05-23 16:38:00 字數 509 閱讀 1259

tomcat預設全部都是用iso-8859-1編碼,不管你頁面用什麼顯示,tomcat最終還是會替你將所有字元轉做iso-8859-1.那麼,當在另目標頁面再用gbk翻譯時就會將本來錯的編碼翻譯成gbk的編碼,這時的文字會亂碼.

所以需要先將得到"字元"(不管是什麼)都先用位元組陣列表示,且使用iso-8859-1進行翻譯,得到乙個在iso-8859-1編碼環境下的位元組陣列.例如:ab表示成[64,65].然後再用gbk編碼這個陣列,並翻譯成乙個字串.

那麼我們可以得到乙個編碼轉換的過程

假設:gbk碼("你")->urlencode後變成->(%3f%2f)->tomcat自動替你轉一次iso-8859-1->得到( 23 43 68 23 42 68 每乙個符號表示為iso-8859-1中的乙個編碼)->接收頁面--->再轉一次為iso-8859-1的byte陣列[23,43,68,23,42,68]--->用gbk再轉為可讀的文字--->(%3f%2f"---->轉為("你")

用於得到伺服器傳來的字元重新生成gbk編碼

tomcat編碼格式問題

對tomcat編碼格式的修改做個記錄,以備日後檢視 1 page contenttype text html pageencoding utf 8 通過pageencoding utf 8 來設定jsp頁面的編碼格式 2 html介面 3 在應用程式中新增過濾器filter,通過response.s...

解決tomcat編碼後亂碼問題

很多時候我們程式的中文經過tomcat編碼後會出現亂碼問題 開啟tomcat的conf server.xml檔案找到如下 在最後加上 uriencoding utf 8 因為tomcat處理get請求時預設是採用ios 8859 1的編碼格式編碼 如果你專案是用utf 8,在get請求,或者表單 頁...

關於tomcat下的編碼問題

下面的 是copy尚學堂張志宇老師的講課資料,個人覺得比較經典就貼出來了。public class testb gbk public static void main1 throws exception system.out.println new string bytes,gbk utf 8 pu...