JSP中文乱码解决方案

时间:2023-03-08 16:35:54
JSP中文乱码解决方案

学习JSP的过程中总会碰到中文乱码问题,有的是post方式提交没问题,用get方式提交有乱码,还有的是部署到tomcat中没问题,在Eclipse中启动tomcat,发现用get方式提交有乱码。产生乱码的根源是tomcat、java所用的编码方式不同。所以要解决中文乱码问题,首先要保证各个页面所用的编码方式一致,不管是html页面还是jsp页面,都指定为同一种编码方式,如GB18030。

(1)html页面

<meta charset="GB18030">

(2)jsp页面

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>

<meta http-equiv="Content-Type" content="text/html; charset=GB18030">

可以在Eclipse里设置html页面及jsp页面的编码方式统一为GB18030

JSP中文乱码解决方案

接下来,就是指定tomat所用的编码方式了。打开tomcat目录下的conf目录下的server.xml文件,修改

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>该行为:

<Connector port="8080" protocol="HTTP/1.1" URIEncoding="GB18030"
connectionTimeout="20000"
redirectPort="8443" />

注意红色加粗部分是新增的。改好后,需要重启tomcat生效。

为了防止在Eclipse中启动tomcat,用get方式提交有乱码。需要对Eclipse中配置的tomcat的配置文件做同样的修改。

JSP中文乱码解决方案

最后,在get或post接收页面写上:

request.setCharacterEncoding("GB18030");

通过上面的步骤可以较好的解决JSP中文乱码问题。