第3个回答 2016-01-12
MySQL JDBC Driver 3.0.16以前的产品中,很多中文的解决方案是利用connection中的characterEncoding字段来制定编码。
在3.0.16以前,由于不会根据数据库编码来确定如何转换,总是默认使用ISO8859-1,因此必须使用 characterEncoding=GBK来强制把数据库中取出来的字符串按照GBK来往unicode转换。
使用3.0.16以上版本的JDBC Driver则不需要characterEncoding=UTF-8,它会取数据库本身的编码,然后按照该编码转换。
DB2 Universal JDBC Driver没有characterEncoding。对于DB2 UDB for Linux, UNIX, and Windows, JDBC 驱动程序客户端将数据作为 Unicode 发送给数据库服务器,而数据库服务器则将数据从 Unicode 转换成所支持的代码页。
反之,从数据库服务器发送给客户端的字符数据会使用Java 的内置字符转换器进行转换。DB2 Universal JDBC Driver 支持的转换限于底层 Java Runtime Environment(JRE)实现所支持的那些。
DB2 for z/OS、DB2 for iSerials使用CCSID指定的应用程序编码集。本回答被提问者采纳