使用jdbc连接数据库中文乱码问题

     今天在学习jdbc时做了一个项目,项目主要实现的功能是通过jdbc连接数据库,进行添加和查询图书馆书籍。过程中遇到了添加中文到数据库的乱码问题,跟大家分享一下解决方案:

一.添加的时候是否有报错(没有的话直接绕道到二)

    如果报错的话应该是如图所示:

    这个错误是你数据库的编码问题引起的,可以通过bin>mysql.exe进入mysql后通过执行以下语句来查看目前数据库的编码:

   show variables like '%char%';

  查询结果如下:

     可以看到我的编码大多数都是gbk编码,建议大家改成utf8编码或者gbk编码,具体原因可以自己百度以 下就知道了。修改方法如下(以下只说明操作最简单的一种方法):

    先打开服务,将MySql服务关闭。再打开mysql安装的目录文件,在文件中打开bin,bin中找到MySQLInstanceConfig.exe文件,打开。打开后界面如下:

    这是重新配置mysql的文件,点到默认编码方式这一步,选择最后一项,点开选择列表选择gbk编码方式,然后完成接下来的步骤,重新配置完成。

扫描二维码关注公众号,回复: 4228875 查看本文章

配置完成后重新打开mysql服务,运行mysql,输入show variables like '%char%'(就是开头的步骤),就可以看到与笔者一样的编码配置了;完成以后咱们就接着看第二步,第二步不做的话还是会出现乱码的。

二.配置url

    在你jdbc中的url配置后面加上这段代码:?useUnicode=true&characterEncoding=GB18030

    比如我本来url的配置是这样的:

    String url = "jdbc:mysql://localhost:3306/db_database10";

    加了代码后:

    String url = "jdbc:mysql://localhost:3306/db_database10?useUnicode=true&characterEncoding=GB18030";

笔者解决了这两个问题后完美运行:

结果:

    想要此程序的源代码的小伙伴的们可以在下面留下你们的邮箱,我会发给你们。

猜你喜欢

转载自blog.csdn.net/qq_37003223/article/details/84401771