CharSetTest.java文件内容如下,在Windows下编译为class文件。
import java.nio.charset.Charset; import java.io.OutputStreamWriter; import java.io.ByteArrayOutputStream; public class CharSetTest { public static void main(String[] args) { System.out.println("Default Charset=" + Charset.defaultCharset()); System.setProperty("file.encoding", "Latin-1"); System.out.println("file.encoding=" + System.getProperty("file.encoding")); System.out.println("Default Charset=" + Charset.defaultCharset()); System.out.println("Default Charset in Use=" + getDefaultCharSet()); System.out.println("Default 字符集(在使用中的)=" + getDefaultCharSet()); } private static String getDefaultCharSet() { OutputStreamWriter writer = new OutputStreamWriter(new ByteArrayOutputStream()); String enc = writer.getEncoding(); return enc; } }
这个结果符合预期,因为文件本身是GBK编码的,使用UTF-8运行会出现乱码,但这个class文件ftp到Linux下运行的结果就比较奇怪了:
侃侃尔雅
蓝山帝景
元芳怎么了
慕雪6442864
MYYA
呼啦一阵风
相关分类