有关数据库表显示乱码
中文字符无法显示
- 原因是mysql默认的字符是latin编码,得把它修改成utf-8
修改mysql的方法
先关闭mysql服务
cmd(记得用管理员身份打开):net stop mysql
在安装路径下查找配置文件 my-default.ini
在[mysqld] 标签下添加
default-character-set = utf8
character_set_server = utf8在[client] 标签下(没有就自行添加)
default-character-set=utf8
- 然后重启服务 net start mysql
登录mysql,
输入 show variables like ‘character%’;查看gbk,latin什么的是否修改为utf8。 - 如果还改不了的话,用下面的方法
用navicat建表时字符集设置为utf8 – UTF-8 Unicode
eclipse 编码设置为utf8
- 打开上方的windows的preferences
- 点General里的Workspace,左下角Text file encoding里改成other utf8就行了
上面的改完还不行,再改个地,连接jdbc时数据库的地址加上编码字符设置
?useUnicode=true&characterEncoding=utf-8
还不行localhost也改掉
也就是这样private static String dbUrl = "jdbc:mysql://127.0.0.1:3306/book?useUnicode=true&characterEncoding=utf-8";
(这里的book是数据库名称) 改完应该就ok了