在jsp中,我们又是要传的参数是中文,如果利用form表单提交方式,只要设置字符集就可以了,如果是在链接中,例如:<a href="service.jsp?param=中国">中国</a>,这时利用过滤器等设置的字符集就没用了,若项目使用的是utf-8的字符集好像不用处理也可以,当项目的字符集是gbk,jsp页面的pageEncoding="GBK"时就比较麻烦了,这时可以:
1.在jsp页面利用对中文进行转码
java.net.URLEncoder.encode("中国");
若将转码后的字符串放到链接中传值好像还是乱码,不知道是不是我当时没有覆盖原代码的问题。
2.放在链接中还是乱码,那么就用<c:url>标签传值:
<c:url var="urlName" value="service.jsp">
<c:param name="param" value=str/>
</c:url>
其中str是转码后的字符串。
3.在接收的jsp或servlet里获得该参数后使用
URLDecoder.decode(param, "GBK");转码,这样参数就又变回中文了。
其实这个乱码问题也可以在服务器上配置解决,如果想用这种方式就上网查资料吧。
其他的乱码解决在网上有好多资料,不过java的乱码和字符集问题还真是让人头疼啊!
⊙﹏⊙b汗
1.在jsp页面利用对中文进行转码
java.net.URLEncoder.encode("中国");
若将转码后的字符串放到链接中传值好像还是乱码,不知道是不是我当时没有覆盖原代码的问题。
2.放在链接中还是乱码,那么就用<c:url>标签传值:
<c:url var="urlName" value="service.jsp">
<c:param name="param" value=str/>
</c:url>
其中str是转码后的字符串。
3.在接收的jsp或servlet里获得该参数后使用
URLDecoder.decode(param, "GBK");转码,这样参数就又变回中文了。
其实这个乱码问题也可以在服务器上配置解决,如果想用这种方式就上网查资料吧。
其他的乱码解决在网上有好多资料,不过java的乱码和字符集问题还真是让人头疼啊!
⊙﹏⊙b汗