mysqldump 乱码问题

winteen 2007-11-15 10:02:57
用mysqldump -uxxx -hxxxx -pxxx --compress --quick dbname |/bin/gzip >path/to/xxx.sql.gz备份了一个数据库
这个数据库以及所有表以及所有表字段的默认字符集都是gbk
然后在另外的机器上使用gunzip xxx.sql.gz
然后mysql dbname < xxx.sql
结果发现数据库中出现乱码

原始数据库为5.0.27
出现乱码的数据库为5.0.45请教达人,这个问题如何解决
两个数据库以及对应表的字符集都是一样的,问题应该不在这里。
...全文
5910 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sea10ve 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 winteen 的回复:]
问题解决了
假设你的xxx.sql文件的编码为 yyy
那么mysql xxx < xxx.sql之前先 set names yyy
一切ok~~
不用管原来数据库和现在数据库的字符集。
当然如果从utf8到ascii之类的转换大概是不行的
[/Quote]

怎么查看sql 文件 的编码
比如: 我sql 文件里面的 有一个创建数据库 default charaset =uft8
接着创建 表 表默认是 utf8
为什么这样会出现 乱码?????、
2012-02-17
  • 打赏
  • 举报
回复
我是初学者,我想请教下怎么知道自己sql文件的编码是什么啊?
wudaobugu 2008-07-21
  • 打赏
  • 举报
回复
我的 .sql确实是ANSI编码,但改成UTF-8编码还是不行啊?
wudaobugu 2008-07-21
  • 打赏
  • 举报
回复
xxx.sql文件的编码为 yyy
xxx.sql文件的编码,问一下 这是怎么回事?
winteen 2007-11-19
  • 打赏
  • 举报
回复
问题解决了
假设你的xxx.sql文件的编码为 yyy
那么mysql xxx < xxx.sql之前先 set names yyy
一切ok~~
不用管原来数据库和现在数据库的字符集。
当然如果从utf8到ascii之类的转换大概是不行的
daisylh 2007-11-16
  • 打赏
  • 举报
回复
這些頭好像是MYSQL檢查版本的依據
winteen 2007-11-15
  • 打赏
  • 举报
回复
问题大概清楚了:
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
出现乱码的那个数据库.sql头没有上面的指令。
但是奇怪的是,用同样的命令dumper,有些数据库的.sql文件加上了这些头,而有些则没有。
巨大的文件编辑很浪费时间,请问如何强制mysqldumper加上这些头么?
另外请达人稍微解释下这些头~
谢谢

56,681

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧