首页 > 技术文章 > IDEA修改数据库信息,结果修改的中文信息成 `?`

xiegongzi 2021-06-20 13:56 原文

0、前言

  • 我的MySQL版本是5.7的,8.x的版本不太一样
  • 但是:思路都一样,出现本次的情况都是字符编码的问题,思路如下
    • 1、检查编辑器工具,如:IDEA的setting ——> editor ——> file Encoding编码是否是UTF-8
    • 2、检查项目的MySQL链接配置文件中url中是否配置了useUnicode=true&characterEncoding=UTF-8
    • 3、检查MySQL中的数据库和表的创建时是否选择了字符集和校对


1、出现的错误

  • 要是如下的操作都已经做了

  • IDEA中进行了文件编码设置
    image

  • 在IDEA的驱动文件中配置了useUnicode=true&characterEncoding=UTF-8

image

  • 数据库和表的创建中也选了字符集和核对

image

  • 但是:出现往数据库中插入的中文信息成?

image

  • 那么原因就是安装MySQL时忘做了一件事,而我本人就是这种情况,当初漏掉下面这一步了


2、解决办法

方式一

  • 1、在DOS窗口 / xshell中登录sql,查看自己sql的字符设置

-- 查看char开头的系统变量
show variables like 'char%';

  • 注:下图是我已经配置过的设置,没配置过的话和下图是不一样的,若和下图的不一样,同时发生了我上述的事情,那就可以继续往下看了,否则的话,可以溜了

image


  • 2、找到自己sql的安装目录,打开my.ini文件,加入如下信息

image



方式二

  • 要是感觉改配置文件太麻烦了,在进入前面第一步之后,即:进入了下面这个界面

image


  • 看到图中哪一个变量不是utf8,就利用set指令修改为utf8

  • 假如:上图中character_set_client不是utf8,那么:直接通过set character_set_client = utf8;执行命令即可修改

    • 注意:在英文输入法下输入,同时语句用;结束

  • 最后:重新关闭/启动sql服务
    • 可以选择在任务管理器关闭/启动服务( 快捷键ctrl + alt + delete,然后选择任务管理器,最后选择服务找到mysql右键停止 / 启动就可以了 )

    • 也可以选择在命令符cmd中输入net stop mysql / net start mysql,注意:使用管理员权限启动DOS窗口 / cmd命令符



3、解决效果

image

  • 中文成?的问题就解决了!!!

推荐阅读