mysql导入导出数据中文乱码解决方法总结
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-10 16:43:13 浏览: 评论:0
本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是百度搜索到的一些方法总结.
linux系统中
linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题.
解决mysql导入导出数据乱码问题,首先要做的是要确定你导出数据的编码格式,使用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
- --phpfensi.com
- [mysqld]
- character-set-server=utf8
重新启动服务,重新导入数据,如果还乱码,最后得出经验时只要把导入与导出编码统一一下就没问题了.
Tags: mysql导入 mysql中文乱码
相关文章
- ·mysql中导入数据load data在myisam与innodb区别(2014-09-23)
- ·Mysql导入csv数据的几种方法(2014-09-23)
- ·mysql中常用命令导入导出数据命令(mysqldump,source)(2014-09-23)
- ·合理使用mysql中的load data infile导入数据(2014-09-25)
- ·MySQL数据导入导出实例教程手册(2014-09-27)
- ·MySQL数据的导入与导出(mysqldump)方法(2014-09-27)
- ·mysql中导入/导出超大的sql文本文件方法总结(2014-09-27)
- ·mysql导入存储过程无法使用(2014-09-28)
- ·mysql导入存储过程报错问题解决方法(2014-09-28)
- ·mysql数据备份导入导出说明和对应的shell脚本(2014-09-29)
- ·MySQL数据导入恢复(还原)实例(2014-09-29)
- ·MYSQL数据库的导出和导入方法详解(2014-10-04)
- ·mysql导入大文件错误解决方法(2014-10-04)
- ·MySQL导入sql大文件实现方法(2014-10-08)
- ·mysql导入乱码问题解决办法(2014-10-08)
- ·mysql中导入数据与导出数据库sql语句(2014-10-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)