3

我在eclipse中编写了这段代码来获取一些阿拉伯语单词然后打印它们

    public class getString {          
        public static void main(String[] args) throws Exception {  
            PrintStream out = new PrintStream(System.out, true, "UTF-8");
            Reader r = new InputStreamReader(System.in, "UTF-8"); 
            char[] str ;
            str= new char[10];
            r.read(str);
            out.println(str);

    }
    }

但输出是这样的:

关注

شیرین</p>

有什么帮助吗??

提前感谢您的关注

4

3 回答 3

8

只需通过Window > Preferences > General > Workspace > Text File Encoding将工作区编码设置为 UTF-8 。这也会影响 Eclipse 控制台中标准输出的编码。

在此处输入图像描述

然后你也可以只替换new PrintStream(System.out, true, "UTF-8")System.out.

于 2013-10-03T21:06:03.587 回答
1

我会尝试这个设置:

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out, "UTF-8"));
BufferedReader in = new BufferedReader(new InputStreamReader(System.in, "UTF-8"));

String input = in.readLine();
out.write(input);
out.write("\n");
out.flush();

这就是我用来创建 IO 来处理非拉丁字符的方式。请注意,这没有自动刷新。

于 2013-10-03T21:16:21.027 回答
1

由于您使用的是 Windows,因此这就是您在 Eclipse 中将编码设置为 UTF 8 的方式:

1-打开运行对话框>选择“你的java应用程序”>通用选项卡>编码>其他>“将其设置为UTF-8”

在此处输入图像描述

2-打开运行对话框>选择“你的java应用程序”>参数选项卡>虚拟机参数>添加“-Dfile.encoding=UTF-8”

在此处输入图像描述

3-打开窗口菜单>常规>工作区>文本文件编码应设置为“UTF-8”

在此处输入图像描述

然后您可以运行您的应用程序。

于 2013-10-03T22:04:42.597 回答