前言
Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter
取出是出现乱码的问题。
解决办法
1、对要进行URL传递的中文字符进行编码:
1
|
String message = java.net.URLEncoder.encode( "中文字符" , "utf-8" ); |
2、在取URL传递中文的页面对字符进行解码:
1
2
|
String msg = request.getParameter( "message" ); String str= new String(msg.getBytes( "ISO-8859-1" ), "UTF-8" ); |
注意:
1、这里得出的str就是先前传入的”中文字符”。
2、为什么要对取出的字符集形式转换成UTF-8形式,是因为ISO-8859-1是Java中网络传输使用的标准字符集,request.getParameter(“message”);
得到的还是ISO-8859-1字符集,所以要转换一下。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。