1、get方式:tomcat 8+已經將get請求下的亂碼問題解決了,但之前的版本也會出現亂碼問題
分析: 當客戶端傳送get請求到伺服器的時候,因為引數在url中,沒有方法可以設定其編碼,而在http傳輸時將url進行iso-8859-1編碼,伺服器收到資料後會以iso-8859-1編碼進行解碼。又因為iso-8859-1編碼不支援中文,於是引數中帶有中文的時候出現亂碼問題。解決方法:改變資料編碼形式
/* 獲取資料 */
username = request.
getparameter
("username");
/* 方法一 */
// 先對資料進行iso-8859-1編碼
username = urlencoder.
encode
(username,
:iso-
8859
-1")
;//再對資料進行utf-8解碼
username = urldecoder.
decode
(username,
"utf-8");
/* 方法二 */
username =
newstring
(username.
getbytes
("iso-8859-1"),
"utf-8"
);
2、post方式:進行post請求顯示亂碼
當客戶端傳送post請求到伺服器的時候,因為引數在請求體中,所以可以設定其編碼,指定編碼將亂碼正確顯示解決方法:
/* 獲取資料 */
username = request.
getparameter
("username");
/* 設定指定編碼 */
request.
setcharacterencoding
("utf-8"
);
因為通過請求後的資料編碼格式為utf-8,如果沒有對響應的編碼格式進行對應操作,瀏覽器可能會進行錯誤的編碼解碼,所以出現亂碼問題。
解決方法:設定響應時瀏覽器的編碼格式
response.
setcontenttype
("text/html;charset=utf-8"
);
專案中文亂碼問題
1 亂碼場景 一 前面頁面 url 傳值,後台接收出現中文亂碼 解決 前端頁面 使用 encodeuricomponent 傳遞的引數 這樣操作會把 這個值加密 後台獲取值的時候需要解密 例如 url www.baidu.com?username encodeuricomponent usernam...
web專案中解決get提交亂碼問題
get亂碼解決 結語在web專案中處理post提交亂碼問題我們有很多方便的解決方案,但是get亂碼問題的解決在多個get提交時較為繁瑣,需要每個都用request獲得再重新編碼,本文將介紹一種一步解決所有get方式提交亂碼問題的方案。開啟servers下的server.xml 修改查詢到8080的那...
如何就解決專案中的中文亂碼問題
中文亂碼問題是困惑很多 開發人員最為頭疼的問題,今天我在這裡,將我這兩年來從實踐專案經 驗中 總結出的解決方法分享給大家,希望給大家帶去幫助。1.資料庫安裝時採用gb2312編碼方式 2.盡可能以post方式提交 3.修改tomcat伺服器下的配置檔案如下 支援get方式提交 4.如果是ssh整合1...