七、centOS7下mysql插入中文字符报错问题解决方法

在刚装完mariadb,就建立了数据库,然后新建一个表,插入英文没有问题,但是插入中文就有问题,出现乱码

应该是数据库和服务器编码问题,所以应该改数据库和服务器编码属性

查看mysql编码集:

       mysql> show variables like '%char%';

+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1                       |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1             |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

发现character_set_database和 character_set_server 属性设置Latin1 ,其实这个属性是数据库和服务器属性,在创建数据库时候如果不指定默认就是这个,因此对于创建的数据库可以修改数据库和服务器编码为utf8,

这里有2中方法。一种是直接敲代码设置(临时设置,重启mariadb服务后恢复原来的编码属性),一种是在CentOS7中修改文件/usr/my.cnf(永久性),

方法一直接敲代码:

  mysql> set character_set_database=utf8;

  mysql> set character_set_server=utf8;

    然后把原来创建的数据库删除重新建立一个,再创建一个表,就可以插入中文啦。。。

方法二直接修改my.cnf文件:

  打开配置文件:

  vi /etc/my.cnf;

  在[mysqld],[mysql]下分别添加如下内容

    [ mysqld ]

                    character_set_server = utf8

    [ mysql ]

              default-character-set=utf8

然后保存退出,重启Mariadb 服务。

 

上一篇:MySQL 5.7 初始化修改配置


下一篇:HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo