Win11启动Jar包中文乱码导致的问题及处理
问题
jar包在win11的cmd窗口直接运行,程序中涉及中文的数据处理存在问题(不能从数据库查询出数据、保存的数据是乱码等)
解决方案
第一:jar程序
开发程序时,涉及到编码都指定UTF-8,包括文件编码(开发工具,比如idea,设置好整个项目编码)、日志输出时的编码(logbck.xml)
项目编码设置:
logbck.xml编码:
第二:jar启动时编码
chcp 65001
@echo off
set /p user=user:
set /p password=password:
"./lib/jre/bin/java.exe" -Dfile.encoding=UTF-8 -jar "./app-script.jar" %user% %password% "ImportPartBom" "zhgcHCS"
cmd /k
设置整个jvm环境编码为utf-8:-Dfile.encoding=UTF-8
设置当前win窗口的编码为utf-8:chcp 65001
第三:CMD命令窗口的编码
win键+R,打开cmd命令创建,输入“chcp”,查看当前窗口编码:
不是65001时,输入“chcp 65001”:
936:简体中文
65001:UTF-8编码