使用Eclipse运行Java代码调用JDBC读写MySQL中文变成问号的终极解决办法
这两天在调试www.cnblogs.com/ericsun/archive/2011/11/25/2263062.html
可是在最简单的读写MySQL中文的时候出现了问题,跟以前调试J2EE程序时候遇到的一样。
症状就是:Java代码调用JDBC来读写MySQL数据库,我仔细检查了MySQL的设置
我确认了:
1.表的charset我都设置成了utf8 collation我设置成了utf8_general_ci(这跟网上的重新安装mysql选字符集,修改my.ini的方法同原理)
2.表中每个会使用中文的column的charset和collation也跟1中一致
3.Java端的JDBC连接语句我也有采用jdbc:mysql://127.0.0.1:3306/student?useUnicode=true&characterEncoding=UTF-8
4.在读取Query数据库结果的ResultSet的时候我也有通过字符串getBytes的方法来重新编码
这样基本上将网上所有的方法都试了一遍,但是没有一个是可行的,依旧显示问号一串。
这时候我想到了一个事情,我是使用Eclipse进行开发的,Eclipse中是支持定制项目字符集的,于是我修改了项目的字符集(项目上右键选择属性->Resource->Text file encoding中选择other->UTF-8),然后再运行一遍代码,这回就好了。撒花庆祝!