java在CMD环境下执行需注意字符集设定

最近有个小工具需要将DMS系统中随机文件名替换为原始文件名,当导出原始文件名到csv文件中,用小

工具读取然后rename时,发现在eclipse环境下运行正常,简繁中文名称也正常;但放到cmd中执行,发现

中文文件名乱码。程序中rename的来源字符串未做任何改变,取自csv中;csv中显示正常。

经过一番测试,无法在程序中修改文件名来达到正常;后来想到既然eclipse正常,那应该和程序无关,和环境有关,

于是找到:指定Java程序运行环境的字符集 ,这个参数添加后立刻正常。

java  -Dfile.encoding=utf-8