Mac OS下使用eclipse的奇怪问题
在Mac OS下遇到了奇怪的乱码问题。
先给一段代码
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
File file=new File("测试");
System.out.println(file.getCanonicalPath());
}
}
这段代码在Mac OS的命令行下执行完全没有问题,能够正确输出中文路径。
切换到eclipse下,如果使用苹果自带的JDK 1.6,也能够正常执行输出正确的中文路径。
但是若是采用SUN的JDK1.7,输出的路径就是乱码了,并且只要是涉及中文路径操作的全部都会出错。
出现这个问题之后,我进行了很多测试。
在Mac OS的命令行下用JDK1.7编译执行上述代码,OK,完全没有问题。
甚至在命令行下启动eclipse然后用jdk1.7编译,仍然能够得到正确的结果。
因此我怀疑是环境变量的问题,于是在eclipse中run configuration里面添加了一个“环境变量”(注意不是jvm的环境变量,而是系统环境变量)
LANG=zh_CN.UTF-8
在运行上述程序,一切就正常了。
本来这个问题解决了,但是今天遇到一个新的情况。
那就是如果用jdk1.7运行eclipse,那么eclipse中所有涉及中文文件名的操作全部会失效。
例如创建一个中文目录。
请问有朋友在Mac os下用jdk1.7运行eclipse吗?这个问题如何解决?
我觉得如果能够在eclipse启动时加上LANG=zh_CN.UTF-8应该可以解决这个问题。
但是如何加呢?eclipse.ini中有办法加吗?
注意给jvm加上-DLANG=zh_CN.UTF-8是不能解决这个问题的。