作为一个数据库的初学者,碰着数据库乱码问题,是一个比较头疼的问题,下面根据我的利用履历,给大家分享几种办理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,这样往后不管什么时候利用,都不会发生乱码问题!