在cmd中执行jar的编码问题

文章讲述了在CMD中执行包含中文字符的jar包时遇到的编码问题。问题源于CMD默认使用GBK编码,而程序读取的是UTF-8编码的文件。尝试通过改变CMD编码模式和设置JVM启动参数-Dfile.encoding=utf-8来解决,最终后者成功解决了问题。
摘要由CSDN通过智能技术生成

本文主要以自己的例子叙述了在cmd中执行jar包时,遇到的编码问题,以及解决问题的过程。

问题:程序在eclipse中进行开发,涉及一些IO操作,且需要在不同的机子上跑,因此为了方便,将代码打包成了jar包。但是发现在eclipse中结果运行正确,在cmd中运行结果却错误。对问题进行调试,最后发现问题出在以下代码中:

if(splitLine[8].equals("空车"))

该判断中涉及到了中文字符,数据是从一个utf-8编码的文件中读取的,而我们在eclipse中一般都设置默认编码为utf-8编码,因此可以正确判断。但是cmd默认的却是以gbk编码来执行,因此这里的判断显然会出错。

尝试1:通过改变cmd默认编码方式来执行此jar包
可以通过http://jingyan.baidu.com/article/e75aca85440f01142edac636.html该方式来改变cmd默认编码。即在cmd命令窗口中输入:

chcp 65001

cmd将会进入u

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值