MySQL数据库乱码如何解决?

作为一个数据库的初学者,遇到数据库乱码问题,是一个比较头疼的问题,下面根据我的使用经验,给大家分享几种解决mysql数据库乱码问题的方式,希望对大家有帮助。

一、我们需要将默认的字符集更改为utf-8来解决数据库导入数据的乱码问题:

我们需要先查看数据库默认的字符集是什么:

show variables like 'character_set_%'

查看所有的默认字符集

mysql> show variables like 'character_set_%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| 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       | C:/Program Files/MySQL/MySQL Server 5.7/share/charsets/ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.01 sec)

其中character_set_database和character_set_server的字符集mysql默认为latin1.

我们需要将其更改为utf-8的字符需要用到下面两行代码:

set character_set_database=utf8;

set character_set_server=utf8;

然后我们做字符集查询

show variables like 'character_set_%'

得到:

mysql> show variables like 'character_set_%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:/Program Files/MySQL/MySQL Server 5.7/share/charsets/ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)

之后创建的所有的数据库的字符集都默认为utf-8的字符集 .这个时候我们再去做字符集的插入时就可以看到汉字被成功插入不会再出现乱码问题.

二、更改数据库和表的字符集的方法

alter database 数据库名 charset utf8;

alter table 数据表名  convert to character set utf8;

三、导入数据库的方法

Windows系统

source d:/table.sql(*.sql文件所处的盘位置)

linux系统

source /home/hhh/桌面/tables.sql;

总结:

上面给大家介绍了三种解决mysql乱码的方法,因为我们将来开发的系统,基本上都会涉及到非英文的数据,因此建议大家使用第一种方式,把数据库服务器的默认编码方式改成utf8,这样以后不管什么时候使用,都不会发生乱码问题!

版权声明

1 本网站名称:诺言博客
2 本站永久网址:https://nuoyo.cn
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ2469329338进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7 如无特别声明本文即为原创文章仅代表个人观点,版权归《诺言》所有,欢迎转载,转载请保留原文链接。

给TA打赏
共{{data.count}}人
人已打赏
数据库运维

Linux基础知识之xargs命令

2023-9-11 23:35:10

数据库运维

什么是市场监管法律法规规章数据库,如何访问?

2023-9-13 0:00:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索