请求响应乱码问题

Posted dalianpai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求响应乱码问题相关的知识,希望对你有一定的参考价值。

请求:

Get请求:

// 获取请求参数
String username = req.getParameter("username");
//1 先以 iso8859-1 进行编码
//2 再以 utf-8 进行解码
username = new String(username.getBytes("iso-8859-1"), "UTF-8");

Post请求:

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
// 设置请求体的字符集为 UTF-8 ,从而解决 post 请求的中文乱码问题
req.setCharacterEncoding("UTF-8");
System.out.println("-------------doPost------------");
// 获取请求参数
String username = req.getParameter("username");
String password = req.getParameter("password");
String[] hobby = req.getParameterValues("hobby");
System.out.println(" 用户名:" + username);
System.out.println(" 密码:" + password);
System.out.println(" 兴趣爱好:" + Arrays.asList(hobby));
}

响应:

// 它会同时设置服务器和客户端都使用 UTF-8 字符集,还设置了响应头
// 此方法一定要在获取流对象之前调用才有效
resp.setContentType("text/html; charset=UTF-8");

 

以上是关于请求响应乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

请求 响应乱码的问题

中文乱码问题(页面乱码,eclipse乱码,请求响应乱码)

请求响应乱码问题

Servlet处理中文乱码问题(请求/响应)

请求与响应的时候乱码问题原理

Servlet 之请求,响应,缓存以及乱码