数据库乱码问题,主要从以下几个方面考虑:
1.数据库编码格式
SHOW VARIABLES LIKE ‘%char%‘; 查看,如果有latin需要改成对应的格式(一般为utf-8),需要在全局配置,更改mysql文件夹下my.ini文件
1 [mysqld]
2 character-set-server=utf8
3 [client]
4 default-character-set=utf8
5 [mysql]
6 default-character-set=utf8
具体请参考http://blog.csdn.net/u012410733/article/details/61619656
改完在数据库用sql语句insert一个中文记录,如果能正常显示就说明此处没有问题。
2.连接数据库时
1 Class.forName("com.mysql.jdbc.Driver"); // 加载数据库驱动,注册到驱动管理器 2 String url = "jdbc:mysql://localhost:3306/supermarketmanagesystem?useUnicode=true&characterEncoding=utf-8"; // 数据库连接字符串 3 String username = "root"; // 数据库用户名 4 String password = "123"; // 数据库密码 5 conn = DriverManager.getConnection(url, username, password);
第2行中 ?useUnicode=true&characterEncoding=utf-8"不能少