问题:
无论在java代码中如何统一编码为utf8,在ide中运行是完全没问题的,但打包成jar通过bash和cmd运行,都会出现中文乱码问题。
原因:
cmd/bash默认的编码是gbk。
解决方法:
一、设定cmd的编码为utf-8
打开cmd,输入以下命令:
chcp 65001
这样既可以更改cmd的编码为utf-8了。
以下是常用的cmd编码,如图:
二、规定执行java时的编码方式
在cmd下,常见运行jar包的命令如下:
java -jar project.jar
但这样可能会使得java运行时编码不正确导致的报错,这时候我们可以将运行jar时,指定编码参数
java -dfile.encoding=utf-8 -jar project.jar
三、将以上命令打包成bat
每次启动项目都要进行如上两步的话,其实会非常麻烦,我们可以将以上两部打包成bat批处理文件,具体步骤如下
3.1 在jar的目录下创建一个txt文件,通过记事本打开
3.2 将以上命令写入txt文件中,保存
3.3 修改msgsystemstart.txt为msgsystemstart.bat
3.4 运行bat文件
可以看到,项目正常启动,并且不会出现乱码问题。
推荐教程:java快速入门
以上就是通过bash/cmd运行java项目出现乱码的详细内容。
