Web开发中主有三种从浏览器端发送参数到服务器端的方式:
1,通过表单提交;2,超链接中带上参数;3,response.sendRedirect();资源名后面带参数;
对于第一种方式,分为两种情况:
1,如果表单提交的方法是POST方法,那么在服务器端接收参数的话,就可以在程序中这样写,request.setCharacterEncoding();这样设置请求的参数的编码方式,设置为UTF-8即可;
如果表单提交的方法是GET方法,那么在服务器端接收参数时,在程序中这样设置编码,String parameter = new String(request.getParameter(“name”).getBytes(ISO-8859-1),“UTF-8”);这里接收到的parameter就是可以在程序里使用的字符串了;
2,超链接上带上参数,这种情况的解决方法同第一种方式的GET方法的解决方法;
3,资源名后面带参数的解决方法同第一种方式的GET方法的解决方法;
特别说明下:
1,在Java中,Java所支持的字符集的名字都有一个特定名称,也可能有一个或多个别名,而且字符集的名字大小写不敏感;
2,如果浏览器是IE6或者以下版本的IE浏览器,则对于上面的第二种和第三种方式,在字符编码处理上要有所变化,
第二种方式时,在页面要发送参数时:String info = java.net.URLEncoder.encode(“haha”,“UTF-8”);
第三种方式时,做法同上;
3,提供文件下载时,文件名要进行编码处理,同2;
以上是Java Web开发中对中文字符编码的处理。