中文亂碼-Javaweb-response輸出中文時瀏覽器頁面亂碼解決方法
阿新 • • 發佈:2019-02-07
中文亂碼有兩類,第一種是,請求物件中文亂碼,即就是request物件亂碼。第二種是,響應物件中文亂碼,即就是response物件亂碼。
第一種情況參見上一篇文章。
2. response物件輸出中文資料亂碼解決方案:
2.1 位元組流輸出響應亂碼。
該情況不一定亂碼。但是解決亂碼的步驟是:
1) 設定瀏覽器開啟檔案時採用的編碼。
Response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
2) 獲取字串byte陣列時的編碼和開啟檔案時採用的編碼一致。
OutputStream out=response.getOutputStream ();
Out.write(“要輸出的中文”.getBytes(“UTF-8”));
2.2 字元流輸出響應亂碼。
Response有一個緩衝區編碼,預設值為ISO-8859-1。解決亂碼情況步驟是:
1) 設定response緩衝編碼方式
response.setCharacterEncoding(“utf-8”);
2) 設定瀏覽器開啟檔案時採用的編碼。
Response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
其實1)和2)兩步可以結合簡寫為
Response.setContentType (”text/html;charset=UTF-8”);
Response.getWriter().write(“要輸出的中文”);
1)和2)兩個步驟不分前後順序。