java连接mysql乱码

做了一个java项目,连接mysql数据库。连接查询数据没有问题,当写入数据库时出现乱码。

本来这个问题很好解决。无非

1.my.ini下

[mysql]

default-character-set=latin1

修改成gdk,gd2312 和utf8 例如default-character-set=gdk 重启服务,

在cmd查询mysql>show variables like 'character\_set\_%';

没修改成功。

2.在cmd中修改

mysql>alter table 表名 character set gb2312;

等方法都尝试了,还是有问题。

3.修改代码

Class.forName("com.mysql.jdbc.Driver").newInstance()

jdbc:mysql://localhost:3306/liuyan?useUnicode=true&characterEncoding=utf-8

insert写入还是乱码。

针对这个问题在网上看着资料,各种尝试没成功。

于是我采取了终极方案,卸了mysql,在网上对照mysql安装图解从新安装了一遍,写入成功。


安装mysql有一个选择character set选择gdk,问题可能出在这,因为我安装的时候默认的。

我这是在类测试的,如果类中测试没问题,在jsp中出现问题可以加这句试试request.setCharacterEncoding("UTF-8");


你可能感兴趣的:(java)