url請求位址帶中文引數的亂碼處理

2021-08-07 13:26:10 字數 824 閱讀 4810

一、需求

在web開發過程中,通常我們會遇到請求url位址帶有中文引數,這些中文引數一到後端就變成亂碼。

這時我們需要進行處理。

二、問題原因

出現亂碼的原因,很明顯是編碼不對。原因在於tomcat聯結器預設的編碼是「iso8859-1」,而中文需要

用unicode、gbk或gb2312才能正確顯示。

三、解決問題

明白了tomcat聯結器編碼及亂碼原因後,解決中文亂碼就很容易了,只要保證兩端編碼一致且能正常

顯示中文即可。

方式一(不改**,改tomcat):

修改tomcat聯結器的預設編碼,將「iso8859-1」改為」utf-8「,

具體操作是,將  uriencoding="utf-8" usebodyencodingforuri="true"   新增到tomcat的conf目錄下

server.xml中的connector標籤(所有在用的connector標籤都加)中,新增後即是:

uriencoding="utf-8" usebodyencodingforuri="true" />

方式二(不改tomcat,改**):

前台編碼:在js中用encodeuri函式進行一次編碼,即encodeuri(引數)

後台解碼:引數=new string(引數.getbytes("iso8859-1"),"utf-8");

方式三(不改tomcat,改**):

前台編碼:在js中用encodeuri函式進行兩次編碼,即encodeuri(encodeuri(引數))

後台解碼:引數=urldecoder.decode(引數,"utf-8");

URL請求傳遞中文引數亂碼

有的時候我們傳送url請求會帶有中文引數,例如a.jap?name 鎖,這樣直接傳送會產生中文亂碼的問題。js var url window.location.search var condition url.split alert condition 1 得到 e6 b5 b4 e7 9b 86 ...

url帶中文引數顯示亂碼的問題

最近要上個專案,其實很簡單的東西,就是拼接乙個url,不過url中的引數需要urlencode編碼的,其實對我來說,這個問題很好解決,c 用httputility.urlencode來進行編碼,asp用server.urlencode來進行編碼。問題解決了嗎?問題剛剛開始 因為這個公用轉向檔案,是針...

url帶中文引數顯示亂碼的問題

最近要上個專案,其實很簡單的東西,就是拼接乙個url,不過url中的引數需要urlencode編碼的,其實對我來說,這個問題很好解決,c 用httputility.urlencode來進行編碼,asp用server.urlencode來進行編碼。問題解決了嗎?問題剛剛開始 因為這個公用轉向檔案,是針...