sevelet编码问题

request

一、Post请求

只需在Servlet或者jsp中写入如下代码就可以把解决从表单中传入的中文乱码问题

   request.setCharacterEncoding("utf-8");
二、Get请求

因为请求参数会被附加到地址栏的URL之后,所以不能用上面的处理方法
一种方法就是获取请求参数之后对请求参数值重新编码,也就是先将其转换成字节数组,再将字节数组重新解码成字符串。

eg:
String str=request.getParameter("name");
byte[] bytes=str.getBytes("ISO-8859-1");
String name=new String(bytes,"utf-8");

response

一、Get请求
  response.setContentType("text/html;charset=utf-8");
二、Post请求
   response.setContentType("text/html;charset=utf-8");

指定 HTTP 响应的编码,同时指定了浏览器显示的编码
字节流:不要设置编码格式

你可能感兴趣的:(sevelet编码问题)