今天在黑窗口执行一个jar包,发现程序运行后返回的数据全部出现中文乱码的情况,现记录一下解决的办法。
网上说dos窗口出现中文乱码有两种情况:
一、是运行jar包后程序输出的日志出现乱码:
解决办法:先在黑窗口执行下面命令,将控制台输出的编码改为utf8。
命令:chcp 65001
二、是运行jar包后程序返回的数据出现乱码。(我的是第二种)
解决办法:运行jar包时指定编码为utf8,
java -Dfile.encoding=utf-8 -jar xxx.jar
记录运行jar包时的命令。
1、窗口被锁定,可按CTRL + C打断程序运行,关闭窗口程序停止运行
java -jar XXX.jar
2、窗口不被锁定,关闭窗口时,程序停止运行
java -jar XXX.jar &
3、nohup 意思是不挂断运行,当账户退出或终端关闭时,程序仍然运行,日志内容默认存入nohup.out 文件内
nohup java -jar XXX.jar &
4、日志内容默认存入temp.txt文件内
nohup java -jar XXX.jar >temp.txt &
5、/dev/null 2>&1 2代表标准错误,1代表标准输出。把日志输出到黑洞(就是这里不打印日志)
nohup java -jar XXX.jar >/dev/null 2>&1 &
//日志输出到file,这里file会被打开2次
command > file 2>file
//日志输出到file,这里file会被打开1次
command > file 2>&1
6、完整日志输出到log文件内
nohup java -jar XXX.jar >/data/log 2>&1 &
7、spring boot执行jar包指定active profile
java -jar xxx.jar --spring.profiles.active=dev