Mysql5.7.22版本,插入中文乱码的问题

  首先,mysql5.7.22版本的免安装版本的,需要自己配置信息,而且容易出现问题,这里还是建议下载安装版本.msi,按照安装教程进行安装;安装成功后会在数据存储的data文件下找到参数配置文件my.ini(并不是自己配置的)

 

 

(1) 创建表的字符集是utf8,当直接在navicat工具中执行sql插入数据时,中文是可以正常插入,并且不会出现乱码的问题。

(2) 当执行java代码,向数据库中插入中文时,中文变为’?????’问号显示,出现乱码。

问题排除过程:

1) 先查指定的表是否是utf8格式字符:

  show create table 表名;

 

  说明表创建时,字符集是没有问题的。

2) 修改mysql数据库的整体编码

  查看方式数据库编码:show variables like '%char%';

 

出现上图情况时,可以进行数据库配置文件my.ini 文件修改:

  打开my.ini(如上图的位置)找到[client]添加一行

default-character-set=utf8

  找到[mysqld]这行添加代码如下

character-set-server=utf8
default-storage-engine = INNODB
collation-server = utf8_general_ci
init_connect='SET NAMES utf8'

  保存my.ini文件后,重启mysql服务。可以查看show variables like '%char%';

 

  再次执行java代码,向数据库中插入中文时,就不再出现乱码。

参考资料:

https://blog.csdn.net/zkzk96871/article/details/78307774

https://blog.csdn.net/u012410733/article/details/61619656/

https://blog.csdn.net/u011421398/article/details/51992148

posted @ 2018-07-21 15:23  小码农成长记  阅读(447)  评论(0编辑  收藏  举报