要让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都可以正常工作。
闽公网安备 35060202000074号