Java插入中文到数据库中文变成问号解决 您所在的位置:网站首页 java数据库中文乱码 Java插入中文到数据库中文变成问号解决

Java插入中文到数据库中文变成问号解决

2024-06-29 15:05| 来源: 网络整理| 查看: 265

之所以会出现乱码,就是编码方式不一致导致的

我们应该首先确定

         1. eclipse和mysql数据库中的编码方式是否一致

         2. 在链接数据时,有没有在url里面加上characterEncoding=utf8,也就是下图这样

           

如果都解决了基本就没有问题了。

但是我"确定"了以上的方式都没问题,还是出现乱码

链接数据库的时候也加上了编码方式,但是还是会乱码,一定还是编码方式不一致导致的。eclipse的编码方式和数据库的编码方式都是一样的,但是原因到底是怎么回事,为什么一直不行,我就在数据库下面查询了各个编码方式如下:

发现确实数据的编码方式为utf8

把character_set_connection设为utf8编码发现还是不行

然后发现character_set_client和character_set_results编码方式都为latin1,接下来,我直接把两个的编码方式都设为gbk

再次运行java代码,然后在数据库中查看

发现插入数据的内容正常了,但是之前插入的数据内容的就出现乱码,毕竟上面插入内容的时候编码方式和现在不一样,所以问题到此就结束啦~~~~~~~~~~

注意:设置变量只对当前连接有效,当退出窗口后,再次登录mysql,还需要再次设置变量。

注:以前2个来确定,可以使用set names utf8,set names gbk设置默认的编码格式; 执行SET NAMES utf8的效果等同于同时设定如下: SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_results='utf8';

指定默认编码(一劳永逸解决办法)  在my.ini(MySQL安装目录里)中设置character-set-server=utf8即可,它可以修改三个变量:client、results、connection。

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有