java中url發(fā)生中文亂碼怎么解決?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
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”);
看完上述內(nèi)容,你們掌握java中url發(fā)生中文亂碼的解決方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:java中url發(fā)生中文亂碼怎么解決-創(chuàng)新互聯(lián)
本文地址:http://aaarwkj.com/article12/ccgpgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、搜索引擎優(yōu)化、品牌網(wǎng)站制作、小程序開(kāi)發(fā)、網(wǎng)站策劃、全網(wǎng)營(yí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)
猜你還喜歡下面的內(nèi)容