网上挺多原因是因为在启动项目时加入了-Dfile.encoding=UTF-8 这一串使得程序乱码,原因是file.encoding跟操作系统默认字符集有关,Windows下默认的是GBK,我们强行 -Dfile.encoding=UTF-8 把系统文件编码格式设置为UTF-8,这就 与gbk冲突了.
我的问题截然相反,没有加这一行参数,导致文件解析乱码。但原理相同。都是因为file.encoding跟操作系统默认字符集冲突。
解决方案:在启动时,加入-Dfile.encoding=UTF-8就好了
如:java -jar -Dfile.encoding=UTF-8 包.jar