MySQL导入导出数据出现乱码的解决办法_MySQL教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:sql语句中删除表数据drop、truncate和delete的用法
虽然绿色资源网小编不建议大家去用命令删除数据库表中的东西,但是这些删除命令总有用的着的地方。 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了 现在来介绍另外两个兄弟,都是删除表数据

   在mysql导入导出数据时经常出现中文乱码的问题,大多是因类导入导出时编码设置不一致所引起的。本文介绍了不同平台下的编码转换方法,供大家参考。

  在linux系统中默认的是utf8编码,而windows是gbk编码,如果在这二个系统间导入未经指定编码的数据,就会出现乱码。

  首先,确定导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8,

  例如:

  mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql

  那么导入数据时也要使用--default-character-set=utf8:

  mysql -uroot -p --default-character-set=utf8 dbname < bak.sql

  统一编码后,mysql数据迁移中的乱码问题就解决了。

  使用windows作为导出数据源,并导入 freebsd环境下的mysql库,解决方法详解。

  导出数据

  一、首先,在windows平台下mysql用作导出数据库源。

  查看字符编码的系统变量:

  代码示例:

  mysql> show variables like ‘%char%';

  +————————–+—————————-+

  | Variable_name | Value |

  +————————–+—————————-+

  | character_set_client | latin1 |

  | character_set_connection | latin1 |

  | character_set_database | latin1 |

  | character_set_filesystem | binary |

  | character_set_results | latin1 |

  | character_set_server | gbk |

  | character_set_system | utf8 |

  | character_sets_dir | D:mysqlsharecharsets |

  +————————–+—————————-+

  查看character_set_database,这里是latin1,latin1是装不了多字节字符集的。

  二、在windows下设置系统变量为utf8

  mysql>set character_set_database=utf8; ##设置默认的字符集为utf8

  三、导出数据

  mysql> select * from table into outfile ‘c:table.txt' where +条件

  这时导出了部分数据,并以txt文件存在 table.txt中。

  导入数据

  在freebsd平台下

  一、同样设置字符编码的系统变量

  代码示例:

  mysql> show variables like ‘%char%';

  +————————–+—————————-+

  | Variable_name | Value |

  +————————–+—————————-+

  | character_set_client | latin1 |

  | character_set_connection | latin1 |

  | character_set_database | latin1 |

  | character_set_filesystem | binary |

  | character_set_results | latin1 |

  | character_set_server | gbk |

  | character_set_system | utf8 |

  +————————–+—————————-+

  mysql>set character_set_database=utf8; ##设置默认的字符集为utf8

  二、转载数据

  mysql>load data local infile ‘/home/table.txt' into table `table`;

  至此、条件数据完整导入导出,并处理了乱码的情况。

  总之,两台mysql服务器导入导出时,一定要确保两台服务器的character_set_database参数相同,这样才能防止一些乱码的情况。当然我们还可以使用其他字符集,如gbk来进行调整。

  解决方法三

  乱码解决方法

  导入数据后,在命令行查看发现中文乱码

  使用以下命令查看系统字符集

  show variables like 'char%';

  如果不是GBK或UTF8,则停止mysql服务,然后到安装目录修改my.ini文件,

  将文件中下面的变量改成如下,如果没有这个变量则增加这些变量

  [mysql]

  default-character-set=gbk

  [mysqld]

  character-set-server=utf8

  重新启动服务,重新导入数据,如果还乱码,只要把导入与导出编码统一即可解决问题。

分享:安装sql server 2008 报错等问题怎么解决
问题1:安装sql server 2008 R2,安装过程中提示错误:此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1。 之前我的电脑上确实装了vs2008,于是我准备去下载一个SP1补丁包,一看800

来源:模板无忧//所属分类:MySQL教程/更新时间:2014-10-10
相关MySQL教程