在最近项目中使用tomcat部署项目,部署成功后访问api页面出现部分中文乱码
解决步骤
1. 修改Tomcat配置(server.xml)
操作位置:Tomcat安装目录下的
conf/server.xml
文件。修改内容:在
<Connector>
标签中添加URIEncoding="UTF-8"
,确保URL参数编码正确:作用:解决URL参数传递中的中文乱码问题。
2. 设置JSP页面编码
操作位置:所有JSP文件顶部。
修改内容:添加编码声明:
作用:确保JSP页面输出时使用UTF-8编码。
3. 配置Tomcat全局编码
操作位置:Tomcat的启动脚本(如
bin/catalina.sh
或bin/catalina.bat
)。修改内容:添加JVM参数(Windows/Linux通用):
作用:强制Tomcat使用UTF-8编码。
4. 处理请求和响应编码
操作位置:Servlet或Controller代码中。
修改内容:在请求处理前设置编码:
作用:确保请求参数和响应内容的编码一致。
5. 检查前端页面编码
操作位置:HTML页面或模板文件。
修改内容:在
<head>
中添加meta标签:
作用:确保浏览器正确解析页面编码。
6. 数据库连接编码(如适用)
操作位置:数据库连接URL(如MySQL)。
修改内容:添加字符集参数:
作用:确保数据库通信使用UTF-8编码。
7. 检查Eclipse项目编码
操作位置:Eclipse设置。
步骤:
点击菜单栏
Window
→Preferences
。进入
General → Workspace
,将Text file encoding
设置为UTF-8
。
作用:确保项目文件保存时使用UTF-8编码。
验证步骤
保存所有修改后,重启Tomcat。
访问前端API页面,检查中文是否正常显示。
若仍有乱码,检查日志(如图片中的控制台日志)是否有编码相关的错误提示。
针对性说明
请确保上述配置修改在该Tomcat实例中生效。
若使用Liferay Portal,需额外检查其配置文件(如 portal-ext.properties
),添加:
总结
通过以上步骤,优先确保Tomcat、JSP页面、请求响应和JVM的编码统一为UTF-8。若问题仍未解决,请检查项目中是否有硬编码的编码设置(如 ISO-8859-1
)冲突
评论区