mysql与JDBC中文问题的解决方法

王朝mysql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

要让mysql支持中文,有两种方法:

1、用JDBC连的时候,URL要使用这样的形式:

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=EUC_CN

这种方法性能可能有一定损失,因为要经过一定的转换。而且假如是在Tomcat里面用,又用了DBCP,则该方法无效。(我怀疑是由于DBCP的URL参数里面其他属性都是无效的,别的连接属性只能放在connectionProperties里面配置,但DBCP的文档对connectionProperties的配置说得不清不楚)。

2、在my.ini的[mysqld]段下面加上default-character-set=gbk,则java端的URL无需加上useUnicode等参数,也可以正常处理中文。要注意的问题是这种方法如果用的是mysql-connector-java-3.0.11-stable-bin.jar驱动,则会出现下面的错误:

Error: java.sql.SQLException: Error during query: Unexpected Exception: java.lang.StringIndexOutOfBoundsException message given: String index out of range: 40

……

使用mysql-connector-java-3.1.2-alpha-bin.jar与mysql-connector-java-3.1.3-beta-bin.jar都可以正常工作。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航