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 界面动态指定应用程序的数据编码格式。 为此:
使用值 UTF-8 指定使用 UTF-8 编码的 DB2 Everyplace,或使用 JVM 所支持的任何字符编码。
使用 java.sql 包中的 DriverManager 类中的静态方法 Connection getConnection(String url, Properties info)。
使用 java.sql 包中的“接口驱动程序”类中的 Connection connect(String url, Properties info) 方法。
相关参考