在eclipse中运行带有中文参数的java程序
我输入了一些参数,比如-D你好=你好, 并调用单个类 java文件如下所示:在eclipse中运行带有中文参数的java程序,java,eclipse,Java,Eclipse,我输入了一些参数,比如-D你好=你好, 并调用单个类 java文件如下所示: public class Test { public static void main(String[] args) throws Exception { for(String name :args){ System.out.println(name); } } } 打印结果: -D??=?? 如何解决此问题?看起来不可能有一个干净的方法: 不幸的是,您不能可靠地将非ASCII字
public class Test {
public static void main(String[] args) throws Exception {
for(String name :args){
System.out.println(name);
}
}
}
打印结果:
-D??=??
如何解决此问题?看起来不可能有一个干净的方法: 不幸的是,您不能可靠地将非ASCII字符用于 使用WindowsC运行时stdlib的命令行应用程序,如Java (实际上,几乎所有非Windows特定的脚本语言都是如此) 这是因为他们使用 默认情况下,特定于语言环境的代码页,与 其他使用UTF-8的现代操作系统 同时,您可以将终端的代码页更改为其他内容 使用chcp命令,支持chcp下的UTF-8编码 65001在一些方面被破坏,很可能导致应用程序的致命失败 如果您只需要日语,可以切换到代码页932(类似 通过设置区域设置('非Unicode语言 地区设置中的应用程序)到日本。这仍然会失败 但对于不在该代码页中的字符 如果需要通过命令行获取非ASCII字符 在Windows上,您需要可靠地调用Win32 API函数 直接使用GetCommandLineW以避免编码到系统代码页 层。可能您希望使用JNA来实现这一点
看看这两个链接是否有用:你尝试过这个吗?[如何将[简体]汉字打印到Eclipse控制台?]()或者控制台可以显示正确的汉字,并且项目、java文件、调试配置中的常见编码都设置为UTF-8,但奇怪的是,为什么在程序参数视图中设置汉字,主方法获取参数无法显示正确。