get 传递中文参数 查询时传递中文参数

今天在公司做一个简单的分页查询,,其中有一个参数是中文的,第一次请求用post提交,servlet接收到的没有问题,都是中文,,第二次提交时,也就是分页的第二页,传递后到后台是乱码,,导致查询结果为空,,研究了一会才找到解决方法,,1. 可以用全部都用get方式提交表单,,弊端是地址栏比较难看,这时候后台接收到的是乱码,,我的页面是utf-8编码的,在后台把接收到的参数强制转码,String type=request.getParameter("type"); type=new String(type.getBytes("iso-8859-1"),"utf-8");如果页面编码是gb2312就把utf-8改为 gb2312,这个没有做测试,,但是应该是这样的。。2。可以用java提供的 java.net.URLEncoder 和 java.netURLDecoder 来处理。下面是简单的一个测试代码package com.encode;import java.net.URLDecoder;import java.net.URLEncoder;public class CodeTest { /** * @param args */ public static void main(String[] args) { String str="中 国"; String t=URLEncoder.encode(str); System.out.println(URLEncoder.encode(str)); System.out.println(new String(URLDecoder.decode(t))); }}具体方法我就不详细说了,大家应该都知道是怎么回事了。。有好办法的情指教。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>