JavaWeb项目中文乱码问题

1.从浏览器读数据乱码(post 请求方式)

前提是前端页面是UTF-8编码,因为服务器端默认采用ISO解码,所以乱码,在读取前加上:

request.setCharacterEncoding("utf-8");

 

2.从浏览器读数据乱码(get 请求方式)

 通过程序修改编码,例如读取name数据,一般建议用这个方法:

//.由程序转换编码
String name = request.getParameter("name");
System.out.println(name);
byte bytes[] = name.getBytes("ISO-8859-1");
name = new String(bytes, "utf-8");
System.out.println(name);

3.TomCat服务器读取数据乱码(get请求)

1.找到server.xml,像图中65行,增加一个属性 URIEncoding="UTF-8" ,虽然很好用,但是一般不建议使用。

 

4.响应到浏览器的数据乱码(不管get/post),在建立连接前加上:

response.setContentType("text/html;charset=utf-8");

 

原文地址:https://www.cnblogs.com/haoabcd2010/p/8776483.html