在IDE(idea)中运行正常,但是在打包后运行部分代码乱码报错。原因是Windows平台默认编码gbk,在IDE中file.encoding为UTF-8,但是打包后file.encoding为gbk。通过添加-Dfile.encoding
部分电脑识别,win7未成功。
public class FileEncodeTest {
public static void main(String[] args) {
System.out.println("file.encoding : "+System.getProperty("file.encoding"));
System.out.println("sun.jnu.encoding : "+System.getProperty("sun.jnu.encoding"));
}
}
上面代码可以输出file.encoding
。
目前解决办法是在涉及到字符串编码的时候对字节数组使用new String()
转成字符串解决。另外可以尝试-Dfile.encoding=UTF-8
。