java打成jar包,在windows上运行出现乱码


今天做项目的时候遇到一个很头疼的问题——无论在Java代码中如何统一编码为UTF8,在IDE中运行是完全没问题的,但打包成Jar通过Bash和CMD运行,都会出现中文乱码问题。起初是觉得Java编译时编码出现了问题,但经过几小时的排查,终于找到中文乱码问题的根源——cmd/bash默认的编码是GBK。

 

乱码共有两处:一处是控制台打印日志乱码,另一处是返回数据到前台,乱码。

解决:

控制台日志乱码:

打开cmd,输入以下命令

chcp 65001

这样就可以更改cmd的编码为UTF-8了。

数据结果乱码:

运行时,指定编码,启动命令改为:

java -Dfile.encoding=utf-8 -jar cpw-0.0.1-SNAPSHOT.jar

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM