百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql导入乱码问题解决办法
分享文章到:

mysql导入乱码问题解决办法

发布时间:01/15 来源: 浏览: 关键词:
很多朋友可能会碰到在利用命令或phpmyadmin导入数据时出现中文乱码问题了,下面我来给大家介绍解决导入乱码的方法,有需要的朋友可参考。

要想导入时避免不出现乱码,只要保证数据文件的编码和导入时甚至的编码一直即可,注意:不是和数据库的编码一致。例如:数据文件data.sql,编码为UTF-8,使用如下命令:

 代码如下

mysql -uroot -p --default-character-set=utf8 db < data.sql

上面的办法不一定有效果,因为不知道mysql编码,我们可以先查看mysql编码

 代码如下

mysql> show variables like "%char%";

+--------------------------+---------------------------------------------------------------------------------+

| Variable_name            | Value                                                                           |

+--------------------------+---------------------------------------------------------------------------------+

| character_set_client     | latin1                                                                          |

| character_set_connection | latin1                                                                          |

| character_set_database   | utf8                                                                            |

| character_set_filesystem | binary                                                                          |

| character_set_results    | latin1                                                                          |

| character_set_server     | utf8                                                                            |

| character_set_system     | utf8                                                                            |

| character_sets_dir       | /usr/local/Percona-Server-5.1.57-rel12.8-233--x86_64/share//charsets/ |

+--------------------------+---------------------------------------------------------------------------------+

8 rows in set (0.01 sec)

 

mysql> show variables like "%coll%";

+----------------------+-------------------+

| Variable_name        | Value             |

+----------------------+-------------------+

| collation_connection | latin1_swedish_ci |

| collation_database   | utf8_bin          |

| collation_server     | utf8_bin          |

+----------------------+-------------------+

修改sql文件

 代码如下

SET collation_connection = utf8_bin;

SET character_set_client = utf8;

SET character_set_connection = utf8;

再执行导入

 代码如下

mysql  --socket=/opt/mydata/my3306/my3306.sock -A < xxx.sql 就好了...

还发现一个程序导入乱码解决办法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:

 代码如下
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");

 

数据库字符集为utf-8

连接语句用这个

 代码如下
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有9人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板