首先你的数据库字符集全部为GBK,可以用show variables like "%char%";来查看.
然后,读数据出来的时候加上useUnicode=true
即:String dburl="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=GBK";
试试看行不行,不行的话你就再转一次编码好了
String str=new (String)(str.getBytes("ISO-8859-1"),"GBK");
然后,读数据出来的时候加上useUnicode=true
即:String dburl="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=GBK";
试试看行不行,不行的话你就再转一次编码好了
String str=new (String)(str.getBytes("ISO-8859-1"),"GBK");
但是还有一点大家总是容易忽略,如果用编程语言来连接mysql的数据库,其连接也需要采用支持中文的字符集,如果使用的是odbc连接,则不管是vc连接还是其他脚本语言进行连接,都需要在odbc连接字符串中指定使用的中文字符集;
例如,以最新的mysql-connector-odbc-3.51.12驱动来说,在配置odbc连接的时候,在connection option选项卡的Initial Statement参数处就可以配置为SET NAMES GB2312,这样,通过此odbc连接访问该数据库,写入和读取中文都不会有问题
对于Eclipse3.1也是同样的道理
...
)
DEFAULT CHARACTER SET utf8;
----------------------------------------------
connection_url:
jdbc:mysql://host_name:3306/[database_name]?useUnicode=true&characterEncoding=utf8
现在就发分给大家。QSHENG(Q圣) 的方法,我没有试过,不过值得尝试一下。