Post,GET中文傳值亂碼問題

2022-02-22 18:52:11 字數 1342 閱讀 7246

正常情況下,url傳值前對中文進行編碼,然後接受頁面作對應的解碼。

即使不對含有中文的url編碼,接受頁面也能正確獲取引數值,因為預設編碼為utf-8。(post傳值包含中文也正常)

專案中有時webconfig設定,或者頁面上設定gb2312編碼方式,若編碼與解碼不統一,很容易造成亂碼的問題。

utf-8編碼

get傳值:

request.querystring在獲取時使用gb2312解碼,導致出現亂碼。

解決方法:

request.rawurl 獲取原url位址(未使用gb2312解碼前),然後使用utf-8解碼.

request.url.query 獲取原url位址引數資訊(未使用gb2312解碼前),同上。

post傳值:

<

html

xmlns

="">

<

head

>

<

title

>

title

>

head

>

<

body

>

<

form

action

="webform1.aspx"

method

="post"

>

<

input

type

="text"

name

="username"

/>

<

br />

<

input

type

="text"

name

="address"

/>

<

input

type

="submit"

/>

<

br />

<

br />

<

a href

="webform1.aspx?username=測試&&address=1"

>跳轉

a>

form

>

body

>

html

>

webform1**

protected

void page_load(object

sender, eventargs e)

foreach (var s in

dic.keys)

:", s, dic[s]));}}

}

輸出:

jsp URL中文傳值亂碼問題

1.在tomcat下的server.xml中插入如下 uriencoding utf 8 usebodyencodingforuri true connectiontimeout 20000 redirectport 8443 2.對jsp頁面js中要傳遞引數進行加密 encodeuri param...

文章標題 java 中文傳值亂碼問題

一般編碼格式設定 1.可以經過兩次編碼處理,即設定字符集後,在插入前解碼字符集,也是最有效的方式 設定字符集 string value null try catch unsupportedencodingexception e 解碼字符集 string value null try catch un...

POST GET請求中文亂碼問題

post請求中文亂碼 對於單次請求新增request.setcharacterencoding utf 8 使用spring提供的編碼過濾器 get請求中文亂碼 tomcat配置檔案新增編碼與工程編碼一致 對引數轉碼為utf 8 string username new string request....