CentOS7下MySQL数据库插入中文显示问号问题解决

发布于:2021-11-30 17:01:41

昨天将自己的项目部署到虚拟机上的CenOS7上,测试的时候发现插入数据时如果输入的中文,查看时就变成了多个问号,在网上找了一通后终于解决了问题,特此记录。


1.进入MySQL控制台:


mysql -u root -p


输入密码


查看当前mysql运行状态:


mysql>status



?后面四个编码是我修改之后的结果,所以显示utf-8;默认编码是latin1。


2.修改mysql配置文件


默认位置:/etc/my.cnf


进入etc文件夹>>vim my.cnf



?


图片是我添加设置后的。


* 我的mysql没有[client]这个字段,首先添加上,在[client]段增加下面代码:


default-character-set=utf8

(网上还有提到其他的设置语句,是以前的版本,现在不用了)


* 在[mysqld]段增加下面的代码:


character-set-server=utf8

collation-server=utf8_general_ci

:wq!?#保存退出


*鬗ySQL


*?查看当前mysql运行状态


?mysql>status


此时所有编码应该都是UTF-8


参数说明:


haracter_set_client:客户端请求数据的字符集。


character_set_connection:从客户端接收到数据,然后传输的字符集。


character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。


character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。


character_set_results:结果集的字符集。


character_set_server:数据库服务器的默认字符集。


character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

相关推荐

最新更新

猜你喜欢