Java中URL傳中文時(shí)亂碼的問題相信不少朋友都遇到過,最近就遇到一個(gè)問題,就是在Action當(dāng)中把一條中文信息綁定在URL的后面,ActionForward到別一個(gè)頁(yè)面時(shí),用reqeust.getParameter取出是出現(xiàn)亂碼的問題。
1、對(duì)要進(jìn)行URL傳遞的中文字符進(jìn)行編碼:
String message = java.net.URLEncoder.encode("中文字符","utf-8");
2、在取URL傳遞中文的頁(yè)面對(duì)字符進(jìn)行解碼:
String msg = request.getParameter("message"); String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
注意:
1、這里得出的str就是先前傳入的”中文字符”。
2、為什么要對(duì)取出的字符集形式轉(zhuǎn)換成UTF-8形式,是因?yàn)镮SO-8859-1是Java中網(wǎng)絡(luò)傳輸使用的標(biāo)準(zhǔn)字符集,request.getParameter(“message”);得到的還是ISO-8859-1字符集,所以要轉(zhuǎn)換一下。
以上就是java中url傳中文時(shí)亂碼的解決方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!