MySQL数据库中文乱码显示问号解决方案。

解决方法分三步:
1.更改乱码所在表的字符集为utf8
2.更改数据库字符集为utf8
3.在MySQL配置文件my.cnf中更改字符集为utf8

(一)更改表的字符集为utf8
1.查看表当前的字符集,执行如下sql语句

show create table 表名

2.在查询结果中可以看到表的字符集
在这里插入图片描述
3.如果表的字符集不是utf8可以进行修改,执行如下sql

alter table 表名 default character set utf8 collate utf8_general_ci;

(二)更改数据库的字符集为utf8
1.查看当前数据库的字符集

show create database 数据库名

2.在查询结果中可以看到数据库的字符集
在这里插入图片描述
3.如果不是utf8可以进行更改
有两种方式:
(1):navicat的话可以右键单击数据库名,选择“编辑数据库”/“数据库属性”(不同版本存在差异)命令,在弹出的界面选设置字符集为utf8即可。
在这里插入图片描述
(2):使用sql命令

alter database 数据库名 character set utf8

(三)如果以上两个步骤还没解决,可以修改数据库配置文件,这里我的数据库是安装在Linux环境下,如果是windows环境可以百度,大同小异。

1.查看当前sql系统变量,查看系统字符集,执行如下sql

show variables like '%character%';

2.查询结果
在这里插入图片描述
3.执行MySQL命令查看my.cnf文件存在的位置

mysql --help|grep my.cnf 

结果
在这里插入图片描述
可以分别在这几个目录中查找my.cnf文件。注意:my.cnf文件有可能是个空文件,不要质疑,为空代表默认配置。
4.在my.cnf文件添加如下内容

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8

5.重启MySQL服务执行如下命令

service mysql restart

到此,我的中文乱码问题成功解决。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值