请求帮助,数据恢复中出错

2016-07-07 15:32 来源:www.chinab4c.com 作者:ecshop专家



我将ecshop v2.70版本的GBK数据库全部备份,下载sqldata文件,将备份数据SQL中的gbk全部替换为utf8
在重新安装的ecshop v.270 utf-8版本后台,恢复前面修改过的GBK备份数据,出现如下错误:
MySQL server error report:Array( [0] => Array ( [message] => MySQL Query Error ) [1] => Array( [sql] => INSERT INTO `ecs_keywords` ( `date`, `searchengine`,`keyword`, `count` ) VALUES ('2009-05-12', 'ecshop', '这里出现乱字符FDFD', '1')) [2] => Array( [error] => Duplicate entry '2009-05-12-ecshop-' for key 1 )[3] => Array([errno] => 1062))
用PHPADMIN打开 ec_keywords查看,ecshop字段内容是乱字符,形如:w

请问是什么原因,该如何解决?

回答:


请哪位能帮帮忙啊



建表语句:
CREATE TABLE `ecs_keywords` (
`date` date NOT NULL default '0000-00-00',
`searchengine` varchar(20) NOT NULL default '',
`keyword` varchar(90) NOT NULL default '',
`count` mediumint(8) unsigned NOT NULL default '0',
PRIMARY KEY(`date`,`searchengine`,`keyword`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `ecs_keywords` ( `date`, `searchengine`, `keyword`, `count` ) VALUES('2009-04-21', 'ecshop', '诺基亚', '1');
INSERT INTO `ecs_keywords` ( `date`, `searchengine`, `keyword`, `count` ) VALUES('2009-04-27', 'ecshop', '智能手机', '1');
INSERT INTO `ecs_keywords` ( `date`, `searchengine`, `keyword`, `count` ) VALUES('2009-05-04', 'ecshop', '斤', '1');

恢复数据过程中,ecshop字段的值是乱字符诺,或者为空字符

请问有谁知道问题出在哪里吗?

急切盼望帮助啊

在phpadmin执行对应的建表语句,插入语句就没有问题

看下文件编码是否正确



编码已经改成uft8的了。

我在phpadmin中,执行对应的sql语句成功,删除备份的对应sql语句,utf8的后台可以恢复成功,但是商品分类,以及新闻文章的标题中文不显示,中文的内容没有恢复进utf8的数据表中来,问题多多啊

还有个问题就是,url中文,因语言编码的问题,比如:
article-4221-3G%25BC%25BC%25CA%25F5%25BD%25F8%25C8%25EB%25C9%25CC%25D2%25B5%25D3%25A6%25D3%25C3%25CA%25B1%25B4%25FA%2B.html

article-3G技术进入商业应用.html

上面的这两种url,对于搜索引擎来说,是当成一条来处理,还是两个不同的url?

请问你有多少卷数据。是哪个表导入出错。方便给你的ftp和后台吗

我现在使用的是ecshop 2.7 GBK版本的,伪静态使用的复杂重写,url的中文显示为乱码(语言编码不同所致),本想通过备份原GBK数据库,安装新的ecshop 2.7 utf8版本,再导入修改过的备份数据库,通过变换语言为utf8,希望url中的中文字符能正常显示。无奈导入备份数据太麻烦,导入时,商品分类、文章标题中的中文内容都没有被导入进新的数据库中来。

通过测试发现,使用简单重写后,原来的复杂重写的URL仍然能够访问,况且url长度还短一些,为此,我不准备变更GBK为UTF8版本了,直接使用简单重写,更方便。

这样做,应该不会丢失之前的复杂重写产生的URL,对搜索引擎来讲,应该没什么影响,相反,URL长度短了,应该更有利吧。

请问晓天老师,是不是这样?

伪静态使用的复杂重写,url的中文显示那个不是乱是编码后的。utf8的不会转,浏览器能正常识别,但是gbk不转就会出现问题,导致找不到页面。

简单重写会少传一些参数,所以看起来会简短很多。对搜索是影响不大的,更主要的网店本身。

最后,只要保持重写规则。那么不管是是动态地址、简单重写地址、复杂重写都是可以访问的。所以以前收录的页面都是可以访问的,但是不建议经常更改重写,如果变动态、简单、复杂。特别是有一定收录的情况下,收索引擎可能会认为是重复页。但是如果是新站,那么影响不大,建议是保持一种规则,不轻易更改。