服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

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


  要让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都可以正常工作。

扫描关注微信公众号