java 访问 mysql 数据库的字符集设置
mysql是在linux下,java代码通过jdbc访问总是中文乱码。做过如下尝试:
1)修改 mysql的 my.cnf文件,设置 default-character-set等参数
2) 利用alter database 改变被访问的数据库字符集
alter database testdb character set utf8
3)在jdbc链接中指定字符集
jdbc:mysql://127.0.0.1:3306/demodb?useUnicode=true&characterEncoding=utf-8",
发现都没有解决问题。
最后重新创建数据库,在创建数据库时同时设置数据库的字符集,这样就发现就没问题了,用jdbc处理中文入库和查询都没问题。
语法如下:
CREATE DATABASE demodb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;