做了一个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");