如何在java中处理多种语言?

时间:2009-08-13 04:47:09

标签: java internationalization

我正在编写一个使用jsp和java的程序, 我如何使用属性文件来支持多种语言? 顺便说一句,总有像\ u4345这样的东西, 这是什么 ?他们是怎么来的?

3 个答案:

答案 0 :(得分:14)

对于多种语言,请查看ResourceBundle课程。

关于\u4345,这是Java的一个黑暗且非常烦人的传统角落。属性文件需要为ASCII,因此所有非ASCII字符都需要编码为\uxxxx(其Unicode值)。您可以转换文件以将此编码与native2ascii command line tool一起使用。 如果您使用的是IDE或构建工具,则应该有一个选项可以自动调用它。

如果属性文件是您可以完全控制自己的属性,则可以从Java6开始直接在属性文件中使用UTF-8(或任何其他字符集),并在加载时使用specify that encoding

// new in Java6
props.load(new InputStreamReader(new FileInputStream(file), 'UTF-8'));

同样,这仅适用于您自己加载属性,而不是其他人加载属性,例如ResourceBundle(用于国际化)。

答案 1 :(得分:4)

http://java.sun.com/docs/books/tutorial/i18n/index.html

上有一整个教程

这指明并解释了您需要知道的任何事情。

答案 2 :(得分:1)

彼得已经提到了i18n上的Java tutorial。如果您正在构建JSP,您可能希望查看JSTL,它基本上允许您通过JSP标记使用ResourceBundle的功能。