导读:
作为一个数据库的初学者,遇见数据库乱码问题linux 中文文件乱码,是一个比较头痛的问题,下边按照我的使用经验,给你们分享几种解决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 FilesMySQLMySQL Server 5.7sharecharsets |
+--------------------------+---------------------------------------------------------+
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 FilesMySQLMySQL Server 5.7sharecharsets |
+--------------------------+---------------------------------------------------------+
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乱码的方式linux空间,由于我们将来开发的系统linux 中文文件乱码免费linux主机,基本上还会涉及到非英语的数据,因而建议你们使用第一种方法,把数据库服务器的默认编码方法改成utf8,这样之后不管哪些时侯使用,都不会发生乱码问题!