如何解決java中的url亂碼問(wèn)題-創(chuàng)新互聯(lián)

我們主要通過(guò)兩種形式提交向服務(wù)器發(fā)送請(qǐng)求:URL、表單。而表單形式一般都不會(huì)出現(xiàn)亂碼問(wèn)題,亂碼問(wèn)題主要是在URL上面。

公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、商城網(wǎng)站制作,重慶小程序開發(fā),軟件按需定制等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

把URI字符串采用UTF-8編碼格式轉(zhuǎn)化成escape格式的字符串。相對(duì)于encodeURI,encodeURIComponent會(huì)更加強(qiáng)大,它會(huì)對(duì)那些在encodeURI()中不被編碼的符號(hào)(; / ? : @ & = + $ , #)統(tǒng)統(tǒng)會(huì)被編碼。但是encodeURIComponent只會(huì)對(duì)URL的組成部分進(jìn)行個(gè)別編碼,而不用于對(duì)整個(gè)URL進(jìn)行編碼。對(duì)應(yīng)解碼函數(shù)方法decodeURIComponent。

1、將字符串轉(zhuǎn)碼:newString(“xxxxx”.getBytes(“iso-8859-1”),”utf-8”)

這種轉(zhuǎn)碼方式有很大的弊端,因?yàn)樗鞘褂弥付ǖ淖址瘜⒋薙tring編碼為 byte 序列,并將結(jié)果存儲(chǔ)到一個(gè)新的byte 數(shù)組中,然后通過(guò)使用指定的字符編碼將生成的byte 數(shù)組解碼,構(gòu)造一個(gè)新的String字符串。

這種情況就有可能遇到的情況是,不能將一個(gè)漢字全部解碼完。這樣,前邊的都能正常顯示,但是最后一個(gè)字可能是亂碼。
所以不建議使用這種方式。

2、在傳參前轉(zhuǎn)碼,接收參數(shù)后再轉(zhuǎn)碼回來(lái)。

這種方式有兩種:

第一種:

傳參前:使用java.net.URLEncoder.encode(“xxxx”,“utf-8”),將中文轉(zhuǎn)為16進(jìn)制字符。

接收參數(shù)后:使用java.net.URLDncoder.decode(“xxxx”,“utf-8”)將16進(jìn)制字符轉(zhuǎn)為中文。

這種方式需要注意的是,在使用encode轉(zhuǎn)碼后,會(huì)出現(xiàn)特殊字符,這時(shí)候,就需要將特殊字符替換為相應(yīng)的16進(jìn)制。因?yàn)樘厥庾址趗rl路徑中做為參數(shù)傳遞時(shí),也是亂碼。

第二種:

傳參前:encodeURI(“xxxx”) 。

接收參數(shù)后:使用java.net.URLDncoder.decode(“xxxx”,“utf-8”)將16進(jìn)制字符轉(zhuǎn)為中文。

這種方式需要注意的是,在使用encodeURI轉(zhuǎn)碼后,會(huì)出現(xiàn)特殊字符,這時(shí)候,就需要將特殊字符也轉(zhuǎn)碼,所以使用兩次encodeURI,即:

encodeURI(encodeURI(“xxxx”))。

這兩種轉(zhuǎn)碼方式是很好用的,所以很建議大家使用。

具體使用方法:

1、客戶端:

url=encodeURI(url);

服務(wù)器:

String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);

2、客戶端:

url=encodeURI(encodeURI(url)); //用了2次encodeURI

服務(wù)器:

String linename = request.getParameter(name);

java : 字符解碼

linename = java.net.URLDecoder.decode(linename , “UTF-8”);

以上就是java中url亂碼解決方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

網(wǎng)站欄目:如何解決java中的url亂碼問(wèn)題-創(chuàng)新互聯(lián)
URL分享:http://www.muchs.cn/article10/djjpgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、外貿(mào)建站虛擬主機(jī)、云服務(wù)器營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司