在web应用中,很多时候都会利用url传递参数,有时候参数会是中文。
这时候就要求对中文进行编码,经过本人的测试,发现利用java.net.deocder与java.net.encoder这两个java类可以对中文进行编码与解码,同时过程中不会乱码。
例如:
传值编码:
需要在传中文的jsp页面中,在获取中文时进行如下编码:
encodedStr = encodeComponentURI(encodeComponentURI("中文"));
url="/pcis/aaa.jsp?str=" + encodedStr
如果是java函数里面,则为
encodedStr = URLEncoder.encode(rs.getString("中文"),"utf-8")
取值解码:
在目的地址页面对应的java函数中进行解码:
String str = request.getParameter("str");
str=java.net.URLDecoder.decode(str, "UTF-8");
这样获取到的str才是正确的中文格式。