在中国国家部署应用程序

时间:2009-12-15 16:34:15

标签: java internationalization

最近,我尝试将应用程序国际化到中文国家。

我意识到汉字的编码方法种类繁多:国标,Big5,Unicode,HZ

每当用户输入一些文本时,我的Java应用程序需要知道用户正在使用哪种输入编码方法,以便我的Java应用程序将输入转换为可处理的数据。

我觉得,根据他们的操作系统对输入编码方法进行假设是不可靠的。这是因为当有人使用具有中国语言环境的操作系统时,JVM将默认使用国标编码。但是,用户可以使用Big5输入工具来键入Big5编码字符。

我想知道你们所使用的可靠方法是什么,以便检测用户输入的编码类型?

1 个答案:

答案 0 :(得分:1)

对于实际用户输入,您永远不必检测它。它由环境定义。

在Windows上,对于UNICODE应用程序,API将提供UTF-16。对于MBCS应用程序,它将提供当前代码页,并且有一个API可以告诉您它是什么。

在Linux上,语言环境决定了传递给API的输入的编码。

既然你说你是Java,那么真的不需要关心。所有Java UI程序都将提供charString值,并且这些值始终是不可变的,用于Unicode。