Tomcat 解决jvm中文乱码,控制台乱码

项目中因为编码问题造成的问题实在让人头疼,在调试代码的时候,博主有一个post请求调用外部接口的功能,在单元测试中能调通,但是在tomcat容器下,post请求中的参数就乱码了。找了半天,终于找到了原因分享一下 。

首先统一所有项目,文件的编码格式都为utf-8

其次,在server.xml文件里面设置端口的编码为utf-8,这是最常见的设置,并未对在下的代码生效。

于是继续调试,怀疑可能是jvm参数的配置问题,于是在bin 目录下的catalina 配置文件中,添加以下设置

set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%  -Dfile.encoding=UTF-8" 

果然解决了问题 ,不过tomcat控制台却乱码了如下


查看控制台信息 发现是因为编码冲突导致的,控制台为GBK ,于是乱码


接下来需要修改cmd命令行的编码,打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat(如果你改了tomcat的标题栏,这里就是你打开的命令窗口的名字),找到CodePage项,没有则创建,更改值为十进制的65001,点击确定。




问题解决。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值