如何在Java应用程序中处理多种语言?

如何在Java应用程序中处理多种语言?,java,internationalization,Java,Internationalization,我正在用JSP和Java编写一个程序。如何使用属性文件支持多种语言 顺便说一句,总有些东西像\u4345 这是什么?它们是怎么来的?对于多种语言,请查看课程 关于\u4345,这是Java的一个黑暗且非常恼人的遗留角落。属性文件需要使用ASCII,因此所有非ASCII字符都需要编码为\uxxx(其Unicode值)。您可以将文件转换为使用此编码。 如果您使用的是IDE或构建工具,那么应该有一个自动调用该工具的选项 如果属性文件是您可以完全控制自己的,那么您也可以从Java6开始直接在属性文件中使

我正在用JSP和Java编写一个程序。如何使用属性文件支持多种语言

顺便说一句,总有些东西像
\u4345


这是什么?它们是怎么来的?

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

关于
\u4345
,这是Java的一个黑暗且非常恼人的遗留角落。属性文件需要使用ASCII,因此所有非ASCII字符都需要编码为
\uxxx
(其Unicode值)。您可以将文件转换为使用此编码。 如果您使用的是IDE或构建工具,那么应该有一个自动调用该工具的选项

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

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

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

关于


这详细说明并解释了您需要了解的任何信息。

Peter已经提到了i18n上的内容。如果您正在构建JSP,您可能想看看基本上允许您通过JSP标记使用ResourceBundle功能的框架。

您使用的是什么样的框架?大多数框架(如struts、tapestry等)都支持i18n,因此您只需查看它们。一篇介绍如何使用ResourceBundle的个人博客文章: