關於tomcat下的編碼問題

2021-08-31 08:01:50 字數 2062 閱讀 8663

下面的**是copy尚學堂張志宇老師的講課資料,個人覺得比較經典就貼出來了。

public class testb

// gbk

public static void main1() throws exception

system.out.println(new string(bytes, "gbk"));

}// utf-8

public static void main2() throws exception

system.out.println(new string(bytes, "utf-8"));

}// gbk-->utf-8-->gbk

public static void main3() throws exception

bytes = zhongwen.getbytes("utf-8");

byte bytes_copy = bytes;

system.out.println("-------utf-8--------");

for (int i = 0; i < bytes.length; i++)

//錯誤的組裝方法

system.out.println("-------error gbk--------");

zhongwen = new string(bytes, "gbk");

system.out.println(zhongwen);

bytes = zhongwen.getbytes("gbk");

for (int i = 0; i < bytes.length; i++)

//正確的組裝方法

system.out.println("-------gbk--------");

system.out.println(new string(bytes_copy, "utf-8"));

}// gbk-->iso8859-1-->utf-8-->iso8859-1-->gbk

public static void main4() throws exception

//被組裝成了iso8859-1,new出的字串物件有問題,但是位元組內容沒變

system.out.println("-------iso8859-1--------");

zhongwen = new string(zhongwen.getbytes("gbk"), "iso8859-1");

system.out.println(zhongwen);

bytes = zhongwen.getbytes("iso8859-1");

for (int i = 0; i < bytes.length; i++)

//轉換成utf-8在網路上傳輸,乙個byte轉換為兩個位元組,所以一共8個位元組

bytes = zhongwen.getbytes("utf-8");

system.out.println("-------utf-8--------");

for (int i = 0; i < bytes.length; i++)

//server端接收到utf-8,首先組裝成iso8859-1,new出的字串物件有問題,顯示4個問號

system.out.println("-------server--iso8859-1------");

zhongwen = new string(bytes, "utf-8");

system.out.println(zhongwen);

bytes = zhongwen.getbytes("iso8859-1");

for (int i = 0; i < bytes.length; i++)

//以iso8859-1得到位元組,並組裝成gbk

system.out.println("-------gbk--------");

system.out.println(new string(bytes, "gbk"));

}public static void ____________________main() throws exception

}

關於亂碼的問題 Tomcat的編碼修改

遇到的問題 程式需要傳送http get請求到伺服器,請求的引數中包含了中文字元。程式中引數為utf 8格式,且經過了utf 8 url編碼再傳送。使用的tomcat伺服器,但伺服器端後台程式中取到的引數的中文是亂碼。問題原因 經過分析,應該是tomcat在解析引數的時候沒有使用正確的編碼格式 ut...

tomcat 編碼問題

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

tomcat編碼格式問題

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