使用mysqldump 对数据库进行备份的乱码问题

原创 2013年06月27日 22:56:25

最近在做项目的工程中,由于系统中需要提供数据库备份的功能,经过网上一番搜索,觉得采用简单的mysqldump

(1)java代码

String backupSQL = "cmd /c mysqldump -urootdd --extended-insert=false  -hlocalhost fts> "
			        + DB_BACKUPFILE_PATH + " ";
			Runtime runtime = Runtime.getRuntime();
			System.out.println(runtime.exec(backupSQL));

通过执行上面的代码段的出来的文件中,中文部分都已乱码出现,起初怀疑是数据库的编码有关,于是通过以下方式来查询数据库的编码

(2) >show variables like 'character%';

经过以上步骤可以确定数据库的编码是没有问题的,经过再次网上搜索 得到如下结论

"如果MySQL服务器上的字符集是 latin1 或者其他的的,mysqldump 出来的中文都是乱码!一个简单的办法是加上默认字符集选项,如:

mysqldump [-h 127.0.0.1 -P 3307 ] -u username --default-character-set=gbk -p databasename > dumpfile.txt,

--default-character-set 知道数据内容是中文时可以指定为 gbk,这样即使数据库本身设置字符集为 latin1 出来的文件中文也能正常!", 最后将代码改成如下形式

(3)最终java 代码

String backupSQL = "cmd /c mysqldump -urootdd --default-character-set=gbk --opt --extended-insert=false  -hlocalhost fts> "
                    + DB_BACKUPFILE_PATH + " ";
            Runtime runtime = Runtime.getRuntime();
            System.out.println(runtime.exec(backupSQL));

经过以上修改,终于搞定,导出的文件中的中文时正常显示的

Linux Shell脚本之利用mysqldump备份MySQL数据库(详细注解)

设计该脚本的一些设计、编写考虑: 该脚本适用于编译安装mysql和通过yum或apt-get等安装方式 该脚本可以反复执行,不会重复覆盖数据 可增加,删除N天前的备份...
  • zxjiayou1314
  • zxjiayou1314
  • 2016年09月04日 23:31
  • 1490

mysqldump以及navicat导出mysql脚本中文乱码的问题--自己记录依稀

1、navicat转存的时候 导出的中文没有问题,向其中添加自己写的脚本也没有问题,不会出现乱码。 2、在CMD命令下通过mysqldump导出的时候MySQLdump -h lo...
  • angeiqiang
  • angeiqiang
  • 2013年09月11日 15:11
  • 1875

mysqldump 导出数据文件,是乱码,何解?

mysqldump 导出一个 SQL 文件,用vim 打开中文显示是乱码,导出的时候设置的字符集是 utf8 ,数据库的默认字符集也是utf8,终端操作同样是utf8的,用file 工具显示也是UTF...
  • reyleon
  • reyleon
  • 2014年03月05日 15:27
  • 1831

mysqldump备份数据库 mysql恢复数据库

mysqldump 备份与恢复数据库 备份: 1、备份全部数据库的数据和结构  mysqldump -uroot -pjsb -A > /bk/all.sql -A: 备份所有数据库=--all-...
  • u010098331
  • u010098331
  • 2016年03月15日 15:17
  • 4145

centos 下mysqldump备份多个数据库命令

mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql 还原:系统命令行: MySQL -uroot -p123456 ...
  • linuxheik
  • linuxheik
  • 2017年05月10日 11:42
  • 544

mysqldump备份报错(1064),版本问题引起。

mysql备份错误1064
  • hufeng719
  • hufeng719
  • 2016年12月29日 15:08
  • 796

mysqldump导入导出数据库总结;MySQLDump在使用之前一定要想到的事情

mysqldump导入导出数据库总结;MySQLDump在使用之前一定要想到的事情
  • just3do
  • just3do
  • 2017年03月12日 17:18
  • 295

mysql mysqldump数据备份和增量备份(转)

mysql mysqldump数据备份和增量备份 本篇文章主要讲如何使用shell实现mysql全量,增量备份,还可以按时间备份。   本篇文章主要讲如何使用shell实现mys...
  • javastart
  • javastart
  • 2014年10月15日 14:42
  • 4288

使用MYSQLDUMP命令备份

逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具。mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际...
  • u011127019
  • u011127019
  • 2015年12月25日 14:53
  • 605

mysql备份还原-mysqldump实例

1 mysqldump简介     mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语...
  • JesseYoung
  • JesseYoung
  • 2014年11月13日 14:45
  • 6710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用mysqldump 对数据库进行备份的乱码问题
举报原因:
原因补充:

(最多只允许输入30个字)