2

我很想用阿拉伯字符打印一个字符串:

private static void print(String msg, Object... args) {
    try {
        PrintStream ps = new PrintStream(System.out, true, "ISO-8859-6");
        ps.println(String.format(msg, args));
    } catch (UnsupportedEncodingException error) {
        System.err.println(error);
        System.exit(0);
    }
}

但是,我从 Eclipse 日志控制台看到阿拉伯字符显示为这些字符的系列èååêÒÉ

我的代码中可能缺少什么?

4

2 回答 2

5

尝试这个:

private static void print(String msg, Object... args) {
    try {
        PrintStream ps = new PrintStream(System.out, true, "UTF-8");
        ps.println(String.format(msg, args));
    } catch (UnsupportedEncodingException error) {
        System.err.println(error);
        System.exit(0);
    }
}

public static void main (String[] args) throws UnsupportedEncodingException {
    String arabicString = "كيف حالك";
    print(arabicString);
}
于 2013-05-20T07:11:50.293 回答
2

确保用于显示输出的控制台也以 ISO-8859-6 编码。在 Eclipse 中,您需要转到 Run Configuration > Common 来执行此操作。

于 2013-05-20T07:13:55.273 回答