IDEA中使用Tomcat运行Maven项目输出中文乱码

本文主要讲述使用Maven创建JavaWeb项目后,用Tomcat运行出现中文乱码的问题。尝试了使用过滤器设置编码、修改Tomcat配置文件、修改IDEA配置文件等处理办法均无效。最终发现可能是Maven与Tomcat版本冲突,通过在IDEA中打开Help/Edit Custom VM Options修改配置,重启IDEA解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDEA中使用Tomcat运行Maven项目输出中文乱码

问题描述

之前使用IDEA创建javaWeb项目使用Tomcat运行中文并没有出现乱码,但是使用Maven创建javaWeb项目后,使用Tomcat运行出现以下几种情况:

  • 使用Tomcat部署并运行项目后,输出语句中文乱码。,例如:
	System.out.println("--------张三-----");
  • 从前端页面接收中文数据输出中文乱码

使用过的处理办法

  1. 使用过滤器通过设置HttpServletRequest和HttpServletResponse的编码并没有效果:
        httpServletRequest.setCharacterEncoding("utf-8");
        httpServletResponse.setCharacterEncoding("utf-8");
        //浏览器会将当前页面按照html进行解析,并且解析编码为utf-8
        httpServletResponse.setContentType("text/html;charset=utf-8");

但是通过测试HttpServletRequest和HttpServletResponse的编码确实设置成功了。
2. 设置Tomcat的conf/logging.properties文件的字符编码也不行。
3. 修改IDEA的配置文件,在下面两个配置文件末尾加-Defile.encoding=utf-8,也不行:
在这里插入图片描述
4. VM-options中加-Defile.encoding=utf-8,也不行。
5. 修改IDEA的各种File Encoding都改为UTF-8。

解决办法

 首先,确定IDEA的各种File Encoding都设置为utf-8,然后通过通过上面的第一种方法知道,数据传输过来的字符编码格式确实是UTF-8,那么就只有两种可能,一种是IDEA的字符编码解析的问题,一种是Tomcat的的字符编码问题。两者的版本或许存在冲突。
 通过上面的第三种解决方法是设置IDEA的配置文件,并在两个文件的末尾加上了-Defile.encoding=utf-8;但是我的解决方法确实是和这两个配置文件有关:在IDEA中打开Help/Edit Custom VM Options,这时打开的文件是idea64.exe.vmoptions
在这里插入图片描述

 但是如果你没有修改应该没有后面的-Dfile.encoding=utf-8语句。也就是我们修改的IDEA两个配置文件并没有在Maven项目中配置成功。
 进行到这,重启IDEA应该就可以了。

总结

 个人感觉是Maven版本和Tomcat版本有所冲突,欢迎你们将自己的解决方法留言共享给大家。
借鉴链接

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值