描述:开发环境为myEclipse,编码格式为utf-8.各种网络流读取格式无误.但是当改为bat文件启动后,流的读取出现了乱码问题,以明确知道获取对象的格式为utf-8.
然后分析为项目启动后的编码格式为gbk,通过查资料作出判断:
System.out.println("Default Charset="+Charset.defaultCharset());
System.out.println("file.encoding="+System.getProperty("file.encoding"));
System.out.println("Default Charset in Use="+new OutputStreamWriter(new ByteArrayOutputStream()).getEncoding());
使用上述3个语句可以在项目启动时判断编码格式,显示全部都为GBK
解决方法:
在运行程序时指定编码格式,在bat文件中加入
set JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
再次启动格式变为utf-8
另:
字符串方法.toLowerCase()使用默认语言环境的规则将此 String
中的所有字符都转换为小写。