昨天晚上用Eclipse连接MySQL,然后插入数据测试一下,结果插入成功了,可是乱码了。
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/jdbc_text01?useUnicode=true&characterEncoding=UTF8",
"root", "123"); // 连接数据库
Statement state = connection.createStatement(); // sql处理
int influenceLine = state
.executeUpdate("INSERT INTO newtable VALUES(null,'测试数据','天国')");
System.out.println("影响行数:" + influenceLine);
数据我用Navicat查看后,发现中文被?取代了,本来想着不就编码问题嘛,以前也发生过,然后我查看了Eclipse的开发环境编码,发现编码格式是GBK,那就难怪了,我数据库的编码格式是UTF-8,然后我怀着乐观的心态修改了开发环境的编码格式,还有工程的编码格式,最后还把文件的编码也检查了,确保无误。
PS:
1、开发环境编码修改:
点击Eclipse菜单栏的Window - - - 选择Pre