2022-09-15 SpringBoot打包jar运行窗口日志乱码

背景

Windows

SpringBoot项目发布jar文件,创建run.bat脚本运行jar做后台服务。

2022-09-15_144247.png

SpringBoot中的logback.xml日志配置文件中没有声明<charset>UTF-8</charset>属性时运行程序,在控制台中输出的日志内容(绿色箭头)和banner内容(红色箭头)中文都没有乱码,并且在日志文件中也没有乱码。

2022-09-15_144442.png
2022-09-15_144634.png

我们应该本来就是需要这个样子吧!!但是笔者想到后面跨平台使用时程序运行在其他系统主机上怕是默认编码跟咱这个主机不一样出现乱码。所以在logback.xml文件中对输出指定了编码<charset>UTF-8</charset>。但是在运行窗口中看到程序输出的内容乱码,banner的内容没有乱码,并且日志文件也出现乱码。

2022-09-15_144946.png
2022-09-15_145058.png

猜测是运行环境也就是Windows运行窗口默认的编码是GBK,所以在运行之前先将环境中的编码改成uft-8,在执行脚本运行jar文件之前先执行chcp 65001。

2022-09-15_145329.png

再次运行程序,看到程序输出的日志没有乱码,但是banner的内容乱码了,这时的日志文件也是乱码 的,因此这样是不够的。

2022-09-15_145418.png

在执行脚本中加上-Dfile.encoding=UTF-8参数

2022-09-15_145623.png
2022-09-15_145650.png

再次运行程序,看到程序输出的内容和banner中的内容都没有乱码,但是日志文件里面的内容还是乱码的。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值