使用其他语言而不是英语用于java字符串(以波斯语为例)

时间:2016-04-08 10:11:53

标签: java string persian

我想使用波斯语作为我的字符串进行打印,在编写程序时可以正常运行但在运行时会发生变化。
我该怎么做才能正确设置?

示例代码:

public static void main(String[] args)
    {
        System.out.print("سلام");
    }

Windows命令提示符中的结果只是问号(????????) 在记事本++中它就像L╪│┘ä╪º┘à

波斯语是一种像阿拉伯语一样的中东语言。

1 个答案:

答案 0 :(得分:1)

您需要UTF-8编码才能支持波斯语(使用阿拉伯语脚本的略微变体)。在Java中,UTF-8数据可以表示为字节数组。因此,实现所需内容的一种方法是从对应于String的UTF-8表示的字节数组中创建سلام

try {
    String str = new String("سلام".getBytes(), "UTF-8");
    System.out.println(str);
}
catch (Exception e) {
    System.out.println("Something went wrong.");
}

如果您之前从未见过从字节数组创建String,请查看Javadoc

Caviat :只有当您的编辑器也使用UTF-8编码时,此答案才有效。这是必需的,这样当波斯语salam字符串转换为字节数组时,编码是正确的。