tomcat 控制台乱码问题

环境:win7 + tomcat 8.5

问题描述:web端一切正常,不管是返回页面的数据还是控制台打印的日志,都没乱码,给app提供的api接口返回乱码,然后就去百度,像什么 在tomcat的service.xml中修改编码的,那种可以直接忽略了

从来没有灵验了,然后就是修改catalina.bat 这个文件,加入utf8的编码(可自行百度),然后返回给api接口的数据不乱码了,但是tomcat控制台开始乱码,于是乎,又百度,然后分为两种解决办法:第一种是

如果用的eclipse或者ide这种开发工具,可通过设置 一直有 VM Options 这个属性,加入 -Dfile.encoding=UTF-8 进行解决,可百度的到,然后我的并么有解决,而且这种只是通过开发工具启动tomcat有用,第二种通过修改系统的utf编码;

2019年3月21日12:01:07 更新

乱码究其原因是编码问题,下面将win10下  解压版的tomcat8.5 的乱码问题解决方法列出来。

1  bin目录下的catalina.bat 文件,set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%" 改为

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

2 conf目录下的logging.properties的文件中,修改或加入

java.util.logging.ConsoleHandler.encoding = UTF-8

3 修改windows运行窗口的编码为utf-8

https://juejin.im/post/5bb23cc15188255c5121d499

至此,所有编码都已经改为了utf-8,乱码问题解决。

说一点:以上方法不适用所有的,具体要根据系统编码进行改变。

tomcat conf/server.xml文件中的编码,要使用urf-8,因为这个是用来和前台页面传至交互的接口。

tomcat 控制台乱码问题

catalina.bat是tomcat窗口,输出程序日志的编码

tomcat 控制台乱码问题

loggin文件中的编码,是tomcat本身的日志信息编码,比如tomcat的启动信息。

上一篇:Spring Boot应用连接数据库MySQL、及一个简单的demo


下一篇:php微信支付回调验证