一直在写的一个项目,调试,发布都进行过,但从未遇到这个问题,今天突然发生,查了许多资料,说是windows系统默认GBK,如果服务器是windows系统,那么,发布时,jvm默认的编码也是GBK ,因此如果项目代码是其他编码,就会发生乱码;
建议是 启动项目是 通过java -Dfile.encoding=utf-8 -jar xxxxxxx.jar 这个命令运行项目,指定编码,即可解决;但是我试用过后,没有效果,因此重新仔细看了一下日志文件和log4j2配置文件,发现日志文件并没有乱码,因此考虑项目编码时用的是utf-8,但控制台输出用的是GBK,于是把log4j2 配置文件改成了日志输出用utf-8,控制台输出用GBK,就没有乱码了。
前面的命令没有效果,估计是因为日志文件本身就是用的utf-8 编码,但是怎么让控制台也按utf-8 输出 ,现在还不清楚