正常情況下,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傳值:
<webform1**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
>
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....