JSP页面中的中文乱码问题

Posted

tags:

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

Jsp默认的字符编码格式是iso-8859-1

 

因为post方法与get方法传递参数的方式不一样,所以有不同的解决方法。

一、post乱码解决方法:
 1.设置请求和响应的编码方式
 //设置请求的编码格式
 request.setCharacterEncoding("UTF-8");
 //设置响应的编码格式
 response.setCharacterEncoding("UTF-8");
 或者
 <%@page language="java" contentType="text/html;charset=utf-8"%>

二、get乱码解决方法:
 1.治标方法
 //先获取登录页面username的数据
 String username=request.getParameter("username");
 //将username字符编码改为utf-8
 String un=new String(username.getBytes("iso-8859-1"),"utf-8");
 //然后打印输出un
 out.print(un);

 2.治本方法
 在Tomcat安装目录下找到server.xml文件找到下面代码添加 URIEncoding="UTF-8"
 D:\Program Files\apache-tomcat-8.0.33\apache-tomcat-8.0.33\conf\server.xml
   <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  URIEncoding="UTF-8"/>

 或者
 添加  useBodyEncodingForURI="true"
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  useBodyEncodingForURI="true"/>

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

JSP页面中中文乱码问题

JSP页面中的中文乱码问题

jsp页面显示中文为问号的问题(乱码问题)

怎么解决jsp页面get传值中文乱码问题

JSP中文乱码问题终极解决方案(下)

解决jsp参数传递的中文乱码问题