1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > MySQL导入导出数据出现乱码的解决办法

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

时间:2023-12-14 14:41:47

相关推荐

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

数据库|mysql教程

MySQL,导入,导出,数据,出现,乱码,解决,办法

数据库-mysql教程

niucms开源源码,vm装ubuntu蓝屏,tomcat不支持静态网页,java爬虫爬歌单,php配置文件动态加载,seo案例运营lzw

在mysql导入导出数据时经常出现中文乱码的问题,大多是因类导入导出时编码设置不一致所引起的。本文介绍了不同平台下的编码转换方法,供大家参考。 在linux系统中默认的是utf8编码,而windows是gbk编码,如果在这二个系统间导入未经指定编码的数据,就会出现

pptv网站源码下载,vscode打出css模板,ubuntu10.4,tomcat测试页面空白,sqlite3时间格式,爬虫里面第二个点击代码怎么写,php程序实例,南平网络推广seo优化,派出所 网站 程序,网页模板到底是什么东西lzw

卡密批量生成 源码,vscode写php方便吗,ubuntu日常应用,php环境和tomcat,HTML中爬虫,php网站虚拟机,宜昌工厂seo推广哪个好,影视网站全套源码,java web静态页面模板lzw

在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库,解决方法详解。

导出数据

A、首先,在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是装不了多字节字符集的。

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

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

C、导出数据

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

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

导入数据

在freebsd平台下

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

代码示例:

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

B、转载数据

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。