在 CentOS 上解决 Tomcat 乱码问题,可以尝试以下方法:
server.xml
:找到 Tomcat 安装目录下的 conf/server.xml
文件,用文本编辑器打开。在 <Connector>
标签中添加 URIEncoding="UTF-8"
属性。例如:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
保存文件并重启 Tomcat 服务:
sudo systemctl restart tomcat
找到 Tomcat 安装目录下的 bin/catalina.sh
文件,用文本编辑器打开。在文件开头添加以下行:
export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
保存文件并重启 Tomcat 服务:
sudo systemctl restart tomcat
确保你的应用(例如 Java Web 应用)使用的编码也是 UTF-8。在应用的配置文件中设置编码,例如在 web.xml
文件中添加以下内容:
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这里使用了 Spring 的 CharacterEncodingFilter
,如果你没有使用 Spring,可以使用其他类似的方法设置编码。
完成以上步骤后,重启 Tomcat 服务并测试应用,乱码问题应该已经解决。如果仍然存在问题,请检查应用的代码和数据库连接是否正确设置了编码。