首頁 >Java >Java基礎 >java post請求亂碼解決方法

java post請求亂碼解決方法

尚
原創
2019-11-22 14:37:118283瀏覽

java post請求亂碼解決方法

Java WEB專案中,中文亂碼是一個經常遇到而又非常頭痛的問題,其中最容易出現亂碼的環節就是在瀏覽器向伺服器發送請求的過程。下邊就這一問題介紹解決方法,希望能幫助大家。以下轉碼都是以UTF-8為參考,若為其他編碼格式可自行修改。

一、Response亂碼

(1)設定伺服器端的編碼:response.setCharacterEncoding("UTF-8");

上邊此設定一定要再response.getWriter()方法之前;

(2)通知瀏覽器發送的資料格式:response.setContentType("text/html;charset=UTF-8");

(3)瀏覽器使用UTF-8進行解碼。

二、Request亂碼

1.Post方式提交,參數存在於請求體中,只需要進行此設定即可:

request.setCharacterEncoding("UTF-8");

2.Get方式提交,參數會拼接在URI位址後邊,伺服器預設依照iso8859-1解碼,有兩種解決方法:

(1).在程式中修改接收到的請求編碼(此方法每次請求都需要轉碼,不推薦)

String str = request.getParameter("s");
str = new String(str.getBytes("iso8859-1"),"UTF-8")

(2)在Tomcat安裝資料夾中找到server.xml檔,查找52114130f673a0a75cb6ea1d5ccf6b73標籤進行修改(此方法一勞永逸)

<Connector URIEncoding="UTF-8" 
        port="8080"   maxHttpHeaderSize="8192"
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        connectionTimeout="20000" disableUploadTimeout="true" />

只需在此標籤中增加URIEncoding="UTF-8" ,然後重啟tomcat即可。

更多java知識請關注java基礎教學

以上是java post請求亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn