php写mysql备份表注释和行注释出乱码问题
我用php写了个数据库备份,备份文件没问题。但是向数据库导入备份文件后表注释和行注释都是乱码,怎么回事?请高手解决如:--表:emppo;DROPTABLEIFEXIST...
我用php写了个数据库备份,备份文件没问题。但是向数据库导入备份文件后表注释和行注释都是乱码,怎么回事?请高手解决
如:
-- 表:emppo;
DROP TABLE IF EXISTS emppo;
CREATE TABLE `emppo` (
`id` tinyint(11) NOT NULL AUTO_INCREMENT,
`poType` varchar(20) NOT NULL COMMENT '职务类型',
`secId` tinyint(11) DEFAULT NULL,
`grade` char(5) NOT NULL,
`staId` char(1) NOT NULL,
`poNum` char(5) NOT NULL COMMENT '编制人数',
`remarks` varchar(100) DEFAULT NULL,
`createtime` date NOT NULL,
`stoptime` date DEFAULT NULL COMMENT '停用时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='职务';
字段COMMENT后的汉字在导入数据库后全部为乱码,但是直接复制内容到数据库中执行去没问题,这是怎么回事!!是不是编码不同一?应该怎么改? 展开
如:
-- 表:emppo;
DROP TABLE IF EXISTS emppo;
CREATE TABLE `emppo` (
`id` tinyint(11) NOT NULL AUTO_INCREMENT,
`poType` varchar(20) NOT NULL COMMENT '职务类型',
`secId` tinyint(11) DEFAULT NULL,
`grade` char(5) NOT NULL,
`staId` char(1) NOT NULL,
`poNum` char(5) NOT NULL COMMENT '编制人数',
`remarks` varchar(100) DEFAULT NULL,
`createtime` date NOT NULL,
`stoptime` date DEFAULT NULL COMMENT '停用时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='职务';
字段COMMENT后的汉字在导入数据库后全部为乱码,但是直接复制内容到数据库中执行去没问题,这是怎么回事!!是不是编码不同一?应该怎么改? 展开
3个回答
展开全部
最好不要加表注释。建立完善的数据结构说明文档。是个好选择。
以前碰到过 phpmyadmin 版本不一样。无法正确导入sql 的问题。
检查导出的 生成文件 是否是 utf-8 编码。。数据库建立也采用utf-8 。然后你在用程序导入SQL 试试看。
需要检查 :SQL 文件。数据库编码。以及导入程序。是否都是 utf8 编码的。可以用 editplus 或 ultraedit 进行编码转换!
以前碰到过 phpmyadmin 版本不一样。无法正确导入sql 的问题。
检查导出的 生成文件 是否是 utf-8 编码。。数据库建立也采用utf-8 。然后你在用程序导入SQL 试试看。
需要检查 :SQL 文件。数据库编码。以及导入程序。是否都是 utf8 编码的。可以用 editplus 或 ultraedit 进行编码转换!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将你备份文件的文本编码改成utf8的,例如记事本,默认是ANSI编码,需要手动替换成utf8的~
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PHP中增加set charset utf8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询