Java插入中文到数据库中文变成问号解决 | 您所在的位置:网站首页 › java数据库中文乱码 › Java插入中文到数据库中文变成问号解决 |
之所以会出现乱码,就是编码方式不一致导致的
我们应该首先确定 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 实验室设备网 版权所有 |