MySQL命令行无法插入中文数据

关于mysql无法添加中文数据的问题以及解决方案

下面的方法是针对window系统的

注意:

1  下面的my.ini文件在有些版本的Mysql中的安装目录找不到,比如我用的版本5.5.60-log就找不到,想要找到这个文件,需要设置显示window系统隐藏文件(不懂的自行百度,因系统的版本不同而略有不同),然后回到c盘的根目录,这时,你会看到ProgramData的文件夹

如图:

点进去,找到MySQl,再找到名为MySQL Server 5.5的文件夹,my.ini文件就在这个文件夹下。

2  就是所有的编码格式都设置为utf8了,包括配置文件、数据库、表、字段等都设置好了,就是插入不了中文,查阅了很多的资料,终于在下面这篇文章找到答案,原来是window的cmd窗口的编码格式为gbk,解决方法在文章的最后。

下面的转自:https://www.cnblogs.com/1102whw/p/7815466.html

  今天弄了一天的mysql数据库,就是被一个mysql数据库乱码的问题给缠住了。现在记录一下这个问题,虽然这个问题不是什么太大的事情,但还是记录一下。

  问题是这样的:

  1、先在mysql的安装文件当中,找到配置mysql数据库编码的文件。

  

  

  

    2、修改这两处为utf8。

  

  3、创建一个名为test的数据库并且设置默认编码格式为utf8

  

  4、创建一个名为charTest1的表,并指定编码为utf8

  

  5、查看数据库的编码,已经全部改成了utf8

  

  6、再看一下当前数据库的表的编码

  

  7、到这里的时候,我以为大功告成了,所有能设置的地方我都设置了,都设置的是ut8。然后,我执行了一下insert语句,报错了!!!!!!!!

  

   这个错误纠结了一天,最后,看到了一篇博客,博客上面这么写:

   

   问题出在了CMD窗口,CMD窗口使用的编码格式是gbk,这根本解决不了啊,唯一的办法就是,不要用cmd窗口了,用图形界面工具吧!!!如果非要用cmd窗口的话,那么可以加这句话,set names gbk;加了这句话,我们再看数据库的编码格式,发生了明显变化。

  

  这次再执行插入语句,

  

  成功了!!!

  原来这一切都是CMD在捣鬼!!!

  

   从上图中可以看到 MySQL 有六处使用了字符集,分别为:client 、connection、database、results、server 、system。其中与服务器端相关:database、server、system(永远无法修改,就是utf-8);与客户端相关:connection、client、results 

  

 

  快速方法

    修改这两处为utf8 为gbk。直接重启MySQL下就好了

  

原文地址:https://www.cnblogs.com/zhangdeyang/p/12609556.html