Request请求对象中文乱码问题:
<注:请求页面的html文件中的<meta charset="utf-8">可指定浏览器的解码方式,Tomcat服务器的编码方式为:ISO-8859-1>
Get请求:
eg:
String name=request.getParameter("name");
name=URLEncoder.encode(name,"iso-8859-1"); //先用Tomcat的编码对问题字符串进行编码
name=URLDecoder.decode(name,"utf-8"); //后用浏览器的编码对上面编码后的字符串再进行解码操作
Post请求:
request.setCharacterEncoding("utf-8"); //指定服务器的编码方式(与浏览器的编码一致即可)
Response响应对象中文乱码问题:
字符流中文乱码问题解决:
eg:
/*字符流中文乱码问题解决方案*/
String userName = request.getParameter("username");
response.setCharacterEncoding("utf-8"); //设置服务器的编码方式
response.setContentType("text/html;charset=utf-8"); //设置浏览器的解码方式
PrintWriter writer = response.getWriter();
writer.write("Hello "+userName);
字节流中文乱码问题解决:
eg:
/*字节流中文乱码问题解决方案*/
response.setContentType("text/html;charset=utf-8"); //设置浏览器的解码方式
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(("Hello "+userName).getBytes("utf-8")); //设置服务器的编码方式
<注:务必确保浏览器和服务器的编码方式一致>
本文详细介绍了如何在Web应用中解决GET和POST请求的中文乱码问题,包括使用URLEncoder和URLDecoder处理GET请求,以及设置request和response编码解决POST请求和响应中的乱码。文章强调了保持浏览器和服务器编码一致的重要性。
9007

被折叠的 条评论
为什么被折叠?



