Java 应用程序中的字符编码

Java 程序以内部方式使用 UNICODE 文本;然而,DB2 Everyplace 表中的字符数据可以是除 UNICODE 以外的格式,取决于创建表时所使用的操作系统和语言。 对于 Windows CE 和 Symbian OS 操作系统,DB2 Everyplace JDBC 驱动程序以 UTF-8 格式检索和插入文本。对于其它支持的操作系统,使用系统的缺省字符编码。 缺省值通常由 Java 系统属性的“file.encoding”属性确定。

例如,在 Win32 操作系统上,用户可以选择使用 CLI 界面的 UNICODE 版本或非 UNICODE 版本;因此,在同一机器上,一个数据库可以具有 UTF-8 格式编码和一个本地代码页编码。 要使 JDBC 应用程序能够存取两个数据库中的数据,DB2 Everyplace 为用户提供了一个方法,以便动态指示应用程序应使用哪种数据编码格式。

DB2 Everyplace JDBC 驱动程序根据应用程序指定的格式将 Java 字符串转换为字节。 应用程序指定的格式覆盖操作系统的缺省字符编码。

用户可以通过 JDBC 界面动态指定应用程序的数据编码格式。 为此:

  1. 创建 java.util.Properties 对象。

    使用值 UTF-8 指定使用 UTF-8 编码的 DB2 Everyplace,或使用 JVM 所支持的任何字符编码。

  2. 使用以下两种方法的其中一种来传送 java.util.properties 对象:

相关参考