1. 程式人生 > >中文亂碼-Javaweb-response輸出中文時瀏覽器頁面亂碼解決方法

中文亂碼-Javaweb-response輸出中文時瀏覽器頁面亂碼解決方法

中文亂碼有兩類,第一種是,請求物件中文亂碼,即就是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)兩個步驟不分前後順序。