解决Tomcat乱码的方法有以下几种:
在Tomcat的server.xml配置文件中,将Connector标签中的URIEncoding属性设置为UTF-8。
<Connector ... URIEncoding="UTF-8" />
在Tomcat的web.xml配置文件中,为请求和响应设置字符编码过滤器。
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在JSP页面的头部添加以下代码,设置页面的字符编码为UTF-8。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
在Java代码中,使用UTF-8编码读写数据。例如,设置请求和响应的字符编码为UTF-8:
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
如果使用了数据库,确保数据库的字符编码也为UTF-8。可以在连接数据库时指定字符编码:
jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8
以上是一些常见的解决Tomcat乱码问题的方法,根据具体情况选择适合自己的方法。