unix环境,输入locale返回的是
$ locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_MESSAGES="C"
LC_ALL=JAVA的源码是:(我在WINDOWS上编写的,文件编码应该是GBK)
public class Test {
public static void main(String[] args) {
System.out.println("你你我我鎔喆");
System.out.println(System.getProperty("file.encoding"));
}
}
将java放入unix环境
javac Test.java
java Test
输出结果是:
你你我我鎔喆
8859_1javac -encoding 8859_1 Test.java
java Test
输出结果也是:
你你我我鎔喆
8859_1如果我在windows上编译,将Test.class放入unix,显示的中文就是??????
我想在windows编译,应该等于在UNIX下执行java -encoding gbk Test.java
不能正确显示中文。我的问题是JAVA通过8859_1编码格式读源文件
1.我的源文件编码格式是GBK,怎么能读成功?
2.8859_1为何连“鎔喆”这种GBK的编码也能支持
3.我输入java Test > result.txt将结果导入文本,传到windows上打开,一样能看到中文,说明编码就是GBK
4.UNIX环境的locale是C,为何输入结果能显示中文?