我使用相同的代码,相同的文件。
但是读取文件之后
在本机windows10 64b和服务器Win2003的解析结果不一样呢。
本机是ok的,Win2003是乱码。
我查过Win2003的默认编码是GBK
何解?
3 回复
-Dfile.encoding=UTF-8 无效?
来自炫酷的 NutzCN
@wendal 是的,两边命令一致,但是结果不一致。一边乱码一边不是
我自己解决了。。。
String myCharset = System.getProperty("file.encoding");
System.out.println("系统默认编码: "+myCharset );
然后
BufferedReader buf = new BufferedReader(new InputStreamReader(new FileInputStream(f), "GBK"));
String str = null;
while((str = buf.readLine()) != null){
String l = new String(str.getBytes(),myCharset); //这里使用系统的默认charset解码就可以了
System.out.println(l);//这里是正确的
}
buf.close();
添加回复
请先登陆