Heim > Datenbank > MySQL-Tutorial > Hauptteil

mysql导入乱码问题解决办法

WBOY
Freigeben: 2016-06-07 17:53:06
Original
956 Leute haben es durchsucht

很多朋友可能会碰到在利用命令或phpmyadmin导入数据时出现中文乱码问题了,下面我来给大家介绍解决导入乱码的方法,有需要的朋友可参考。

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

 代码如下 复制代码

mysql -uroot -p --default-character-set=utf8 db

上面的办法不一定有效果,因为不知道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

还发现一个程序导入乱码解决办法,就是在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'");
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage