請求引數解析和亂碼

2022-08-21 20:30:16 字數 914 閱讀 8640

getparameter(name) --- string 通過name獲得值

getparametervalues(name) --- string[ ] 通過name獲得多值 checkbox

getparameternames --- enumeration獲得所有請求引數名稱組成的列舉

getparametermap --- map獲取所有請求引數的組成的map集合,注意,其中的鍵為string,值為string

獲取請求引數時亂碼問題:

瀏覽器傳送的請求引數使用什麼編碼呢?當初瀏覽器開啟網頁時使用什麼編碼,傳送就用什麼編碼。

伺服器端獲取到發過來的請求引數預設使用iso8859-1進行解碼操作,中文一定有亂碼問題

對於post方式提交的資料,可以設定request.setcharacterencoding("gb2312");來明確指定獲取請求引數時使用編碼。但是此種方式只對post方式提交有效。

對於get方式提交的資料,就只能手動解決亂碼:string newname = new string(name.getbytes("iso8859-1"),"gb2312");此種方法對post方式同樣有效。

在tomcat的server.xml中可以配置http聯結器的uriencoding可以指定伺服器在獲取請求引數時預設使用的編碼,從而一勞永逸的決絕獲取請求引數時的亂碼問題。也可以指定usebodyencodingforuri引數,令request.setcharacterencoding也對get方式的請求起作用,但是這倆屬性都不推薦使用,因為發布環境往往不允許修改此屬性。

SpringMVC對映和請求引數亂碼配置

1 標準url對映 controller類 package com.controller import com.model.dao.user import org.springframework.stereotype.controller import org.springframework.ui....

get請求引數中文亂碼

最近遇到的問題,記錄一下,就是get提交中文引數,後台取值是亂碼 使用各種方法,前面幾種方式雖然沒解決問題,但為以後轉碼提供思路,因此mark下 1.js中使用encodeuri 對請求url編碼 2.後台使用urldecoder指定解碼 3.request使用setcharacterencodin...

url請求引數亂碼問題

encoding org.springframework.web.filter.characterencodingfilter encoding utf 8 forceencoding true 但是get請求的引數還是有問題。具體原因可以參考 為了保證get資料採用utf8編碼,在server.x...