我已经在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);
}
}
但输出是这样的:
شیرین
Ø'یرین
任何帮助??
提前感谢您的关注
答案 0 :(得分:7)
只需通过 Window>将工作区编码设置为UTF-8;偏好>一般>工作区>文本文件编码。这也会影响Eclipse控制台中stdout的编码。
然后,您也可以将new PrintStream(System.out, true, "UTF-8")
替换为System.out
。
答案 1 :(得分: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来处理非拉丁字符的方法。请注意,这没有自动刷新。
答案 2 :(得分:1)
由于您使用的是Windows,因此您可以在eclipse中将编码设置为UTF 8:
1-打开运行对话框>选择“你的java应用程序”>公共标签> 编码>其他> “将其设置为UTF-8”
2-打开运行对话框>选择“你的java应用程序”>参数选项卡> VM参数>添加“-Dfile.encoding = UTF-8”
3-打开窗口菜单>一般>工作区>文本文件编码 应设置为“UTF-8”
然后你可以运行你的应用程序。