myeclipse tomcat控制台乱码

本文主要探讨了Tomcat在Windows与Linux环境下因编码不同导致的乱码问题,以及在MyEclipse中控制台乱码的解决办法。针对平台内部乱码,通过设置`URIEncoding="UTF-8"`和调整页面、Servlet编码可以解决。而对于跨服务调用的乱码,需要研究如何在不修改发布服务的情况下解决。在MyEclipse中,可以通过自定义Tomcat实例并设置-Dfile.encoding=UTF-8来解决console乱码问题。

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

遇到问题,写下自己的解决办法,如有错误,还望指点。

Tomcat

tomcat本身受部署平台(window、linxu)编码的影响,一般window中文版本的编码都是GBK,linux系统编码为UTF-8编码,所以在中文在这两个版本的tomcat服务传输会有乱码的问题。

乱码解决分为自身平台内部乱码和多服务调用之间中文乱码两种情况。

第一种情况:平台内部乱码

GET方式

这种方式的乱码一般都是修改tomcat中server.xml中的connector,添加URIEncoding=”UTF-8”

POST方式

如果使用JSP,则把页面的编码都改为UTF-8;
如果使用Servlet,则使用setCharaterEncoding();设置为UTF-8;
保证前后台编码一致即可解决。

第二种情况:跨服务跨应用调用乱码

这种情况等待我研究,如何在不修改发布服务的情况下解决。

暂时只能保持发布服务的编码一致,建议统一使用UTF-8编码。

修改jvm运行的编码格式

1.window

修改catalina.bat,添加
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=utf-8

2.Linux

修改catalina.sh,添加
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8

Myelipse+Tomcat

开发工具有的使用myelipse,有的使用eclipse,这种开发环境搭建tomcat是有些区别的。这里还是eclipse较为严谨,创建好Server后,编码由自己说了算,所以很难在eclipse开发中遇到乱码,即使遇到了,通过修改workspace、project的编码格式就解决了。

但是myelipse中console乱码,就不好解决了。但也有办法。

  1. tomcat jdk jvm启动参数:-Dfile.encoding=UTF-8
  2. tomcat lanuch 自定义一个myelipse 的tomcat实例

在我们添加tomcat的时候,只是添加了tomcat的启动和关闭入口,对于编码格式,还是tomcat自身的,所以修改myelipse的workspace以及project编码无济于事,乱码依旧。所以想办法让myclipse管理tomcat,自定义一个tomcat示例。

问题:

没有接触过跨服务的调用,不知道他们之间的编码格式是如何转换的。
比如现在好多中间件,早期的ApacheMQ,现在Kafka、RabbitMQ等,是怎么做到不同编码的格式转换?(自己确实知道的太少了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值