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

Mem*_*eak 5 java internationalization

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

Thi*_*ilo 14

对于多种语言,请查看ResourceBundle类.

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

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

// new in Java6
props.load(new InputStreamReader(new FileInputStream(file), 'UTF-8'));
Run Code Online (Sandbox Code Playgroud)

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


Pet*_*ter 5

http://java.sun.com/docs/books/tutorial/i18n/index.html上有完整的教程

它指定并解释了您需要了解的所有内容。