狼军团长

我是狼军团长

博客园 首页 新随笔 联系 订阅 管理

java中文编码
http://www.blogdriver.com/strive/283538.html

http://www.java-cn.com/bbs-jsp/show.jsp?forum=chinese&id=1574
http://www-128.ibm.com/developerworks/cn/java/java_chinese/index.html
http://www.java-cn.com/bbs-jsp/show.jsp?forum=chinese&id=1574
http://dev.csdn.net/develop/article/18/18423.shtm

MySQL数据库的4.1是一个分水岭,4.1直接支持Unicode,以下版本支持的不好;

MySQL JDBC Driver的3.0.16也是一个分水岭,3.0.16版本会取数据库本身的编码,然后按照该编码转换,这种方式和Oracle的JDBC Driver是一样的。例如你的数据库是GBK编码的话,JDBC Driver就会把数据库里面的取出来的字符串按照GBK往unicode转换,送给JVM。因此正确的设置数据库本身的编码就尤为重要。

MySQL JDBC Driver3.0.16以下的版本则不然,它不会那么智能的根据数据库编码来确定如何转换,它总是默认使用ISO8859-1,因此你必须使用 characterEncoding=GBK来强制他把数据库中取出来的字符串按照GBK来往unicode转换。

因此,使用什么数据库版本,不管是3.x,还是4.0.x还是4.1.x,其实对我们来说不重要,重要的有二:

1) 正确的设定数据库编码,MySQL4.0以下版本的字符集总是默认ISO8859-1,MySQL4.1在安装的时候会让你选择。如果你准备使用UTF- 8,那么在创建数据库的时候就要指定好UTF-8(创建好以后也可以改,4.1以上版本还可以单独指定表的字符集)

2) 使用3.0.16以上版本的JDBC Driver,那么你就不需要再写什么characterEncoding=UTF-8

 

posted on 2005-07-31 23:45  狼军团长  阅读(427)  评论(0编辑  收藏  举报