十一、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 服务。
本文来自博客园,作者:chao_xiong,转载请注明原文链接:https://www.cnblogs.com/chao-xiong/p/14542039.html

浙公网安备 33010602011771号