請求引數的中文亂碼問題

2021-06-01 12:44:33 字數 2024 閱讀 2350

1、出現

404錯誤:說明找不到資源,看看對映是否正確。

出現異常:說明servlet

**有問題。

2、響應訊息:中文正確的顯示:

響應訊息傳送回客戶端,

響應頭欄位 ,用response.addheader("","")

設定響應訊息的頭字段;。

html文件設定響應訊息頭欄位,用

meta

標籤,它有乙個屬性是

設定頭欄位。  

charser=utf-8

,編碼方式;

***了解中文字元的

url編碼:

瀏覽器對請求引數中的字元(中國)的某種字符集編碼(utf-8

)進行了

url編碼

把請求資訊傳送到web

伺服器

web伺服器先要從請求訊息中把每乙個引數名和引數值分離出來。

web伺服器需要對每乙個引數名和引數值進行

url解碼,也需要針對某種字符集編碼進行

url解碼

--------

位元組陣列

----------

按照某種字符集編碼(

utf-8

)進行編碼。

亂碼問題,**如下:

***瀏覽器怎樣進行

url編碼:

(1)瀏覽器對

form

表單中輸入的中文字元都會進行

url編碼後再傳送給

web伺服器。

(2)對於頁面中的

form

表單中輸入的內容,瀏覽器將按照當前顯示頁面時所採用的字符集編碼來進行

url編碼。

***getparameter方法的中文問題:

(1)getparameter

等方法在讀取的引數資訊時,需要進行

url解碼。 

(2)對於http

請求訊息的請求行中的

url位址後的引數,

getparameter

等方法進行

url解碼時所採用的字符集編碼在

servlet

規範中沒有明確規定

tomcat

中的servletrequest

物件的getparameter

等方法預設採用

iso8859-1

字符集編碼進行

url解碼,因此無法返回正確的中文引數資訊 。 

(3)對於post

方式下的「

」編碼格式的實體內容,

getparameter

等方法以

servletrequest

物件的getcharacterencoding()

方法返回的字符集編碼對其進行

url解碼。

(4)getcharacterencoding()

方法的返回值通常為

null

,對於這種情況,

servletrequest

物件的getparameter

等方法將使用預設的

iso8859-1

字符集編碼對實體內容中的引數進行

url解碼,因此也將無法返回正確的中文引數資訊。 

(5)servletrequest

介面中定義了乙個

setcharacterencoding

方法來設定請求訊息中的實體內容的字符集編碼名稱,

getparameter

方法將以該方法設定的字符集編碼對實體內容進行

url解碼。

(6)setcharacterencoding

方法設定的是請求訊息中的實體內容的字符集編碼名稱,它只影響

getparameter

方法對post

方式下的「

」編碼格式的實體內容進行

url解碼的結果,而不能影響

getparameter

方法對http

請求訊息的請求行中的

url位址後的引數進行

url解碼的結果。  

get請求引數中文亂碼問題

對於get請求解決中文亂碼有兩種途徑一種是修改tomcat預設的編碼方式為 utf 8 在tomcat的server.xml裡把 修改為使用這種方式帶來的問題是在你本機上這麼做沒有問題,你無論怎麼去修改你tomcat上的配置都沒問題,但是測試環境和生產環境的伺服器不是輕易說改就能改的,特別是有些公司...

http請求引數中文亂碼的問題

如題,a專案帶引數傳送請求到b專案。剛開始還好,但是發覺 引數帶中文 就出現問題了,變成了?解決方法 傳送中文引數前先做處理 request.getsession removeattribute pass request.getsession removeattribute type 設定編碼格式不...

get請求引數中文亂碼

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