web專案中的中文亂碼問題

2021-10-02 11:48:15 字數 1320 閱讀 8445

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...