手把手教你解决ECshop导入淘宝数据包乱码问题

公司打算将重点从淘宝转移到B2C上边,于是把我招进来了,经过两个月的时间,B2C网站搭建起来,但是在导入淘宝数据包的时候出现问题了,那就是数据乱码,在网上找了很久都没有找到真正可以解决的办法,那就只能自己搞了,还好最好被我捣鼓出来了。

我用的是ecshop2.73的版本,其他版本没有验证,本人只保证同版本的可以用。

前期准备:

1、利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件有限制。

2、备份网站程序中的goods_batch.php。如果你对自己的水平有足够的信心,可以不备份直接在源文件上修改,否则请备份。

3、文件编辑器。

开始修改:

1、用编辑器打开文件goods_batch.php,文件在admin文件夹下,找到

$data=file($_FILES['file']['tmp_name']);

并将此行注释掉。在下边加上

$data0=mb_convert_encoding(file_get_contents($_FILES['file']['tmp_name']),"utf-8","UTF-16LE");

utf-8是我ecshop的版本编码,如果你的是gbk则这里是gbk。

2、继续添加代码

$data=str_replace("\"\"","\"",$data0);

$data=explode('米莱旗舰店',$data);

米莱旗舰店是我店铺的名字,将这个换成你店铺的名字即可。

3、这里开始要特别注意,因为csv文件的开头有一部分说明,所以要针对首行特别处理。

if($k==0){
            $goods_name_arr = explode('"',$line_list[98]);
            $goods_name = $goods_name_arr[1];
            $shop_price = $line_list[105];
            $goods_number = $line_list[107];
            $imgsstr = $line_list[126];
            $goods_desc =str_replace("\"","'",substr($line_list[118],1,strlen($line_list[118])-2));
             }else{$goods_name_arr = explode('"',$line_list[10]);
            $goods_name = $goods_name_arr[1];
            //$goods_name = trim($line_list[10],'"');
            $shop_price = $line_list[17];
            $goods_number = $line_list[19];
            $imgsstr = $line_list[38];
            $goods_desc = str_replace("\"","'",substr($line_list[30],1,strlen($line_list[30])-2));
             }

这里的$line_list[]可能会因为店铺商品属性不一样导致数据提取错误,可以先print_r($line_list)然后修改错误的数组下标。

4、到了这里数据的提取基本上完成了,下面就要对提取的数据进行处理并赋值给数组。其实也只是图片的数据需要处理一下,具体如下:

$imgasd=str_replace("\"","",$imgsstr);
            $imgasd=explode(";",$imgasd);
            foreach($imgasd as $ks=>$vs){
            if($ks!=count($imgasd)-1){
            $nv=explode("|",$vs);
            $in=explode(":",$nv[0]);
            $imgs_u.=$in[0].".jpg;";
              }
            }
            $arr['original_img'] = $imgs_u;

5、最后要处理的数据就是图片的路径。找到if (!empty($field_arr['original_img']))的位置,有这里开始注释,一直到//修改商品图这里,然后再注释//添加商品相册图下面的if代码。

此方法保证可用于ecshop2.73,我公司的b2c已经使用这个方法成功导入了淘宝的商品数据。

如果有不明白的或者不会修改需要帮助的可以访问http://www.milevip.com,如果有朋友发现更好的方法也欢迎交流。

时间: 2024-12-29 15:52:38

手把手教你解决ECshop导入淘宝数据包乱码问题的相关文章

将淘宝数据包导入自己的商城系统

淘宝网有一个淘宝助理,可以方便的将淘宝店的商品资源导出成csv格式的数据包.很多商城系统为了能快速输入商品,都会要求开发者能最大限度的利用淘宝数据包直接导入产品数据. 当然,数据包的产品字段与商城的产品表字段肯定不可能完全一致,但"宝贝名称","宝贝价格","宝贝描述"这三个字段,几乎是所有商城系统都有的. 下面是二种处理方法: 一.直接分析csv 1.淘宝的csv数据包是用"\t"做为字段间的分隔符,每行数据是用"

建站利器,手把手教你如何用建站宝盒自助建站系统自己建网站

建站利器,手把手教你如何用建站宝盒自助建站系统自己建网站 不会美工设计!不会网页编辑!不会代码编程!神马,你什么都不会还想自己建网站? 对,可以!用建站宝盒建站,您可以什么都不会,只需要会打字,会上网就足够了! 下面,小敏就来教您,如何用建站宝盒自己建网站: 首先,登陆建站宝盒后台,如果您还没有开通建站宝盒,也可以进入免费试用后台,填写http://www.aliyun.com/zixun/aggregation/31068.html">基本资料: 填完资料,接下来进入第二步,挑选安装自助

淘宝数据公布2011年度趣味数据宁波表现抢眼

浙江在线02月28日讯昨天,http://www.aliyun.com/zixun/aggregation/7653.html">淘宝数据公布2011年度趣味数据.其中,宁波数度登上"最疼爱老婆"."最危机感"等各类榜首,表现颇为"抢眼". 除此之外,宁波也成为最容易"撞衫"和最"居安思危"的城市.数据显示,在2011年淘宝热卖女装产品中,宁波女性购买最为集中,"撞衫"指

淘宝网上海宣布面向全球首度开放淘宝数据,每天产生数据量达到7个T

3月31日,淘宝网在上海正式宣布,将面向全球首度开放淘宝数据,商家.企业及消费者将在未来分享到来自淘宝全网的海量原始数据. 据了解,淘宝将除了涉及个人隐私及企业机密之外的交易数据全部对外部开放.数据开放分为三个层次:其一为原始的基础数据,淘宝实行免费开放策略.比如涉及电子商务行业的宏观数据,以及让消费者了解最新消费风向标的数据. 其二为经过简单分析之后的标准化产品,比如涉及各个行业市场情况.消费者行为研究等商业数据,淘宝将通过商业方式开放.据悉,淘宝已于本周尝试推出针对普通卖家的300元数据包月

阿里巴巴宁朗:淘宝数据可视化实践

文章讲的是阿里巴巴宁朗:淘宝数据可视化实践,2014年4月10-12日,第五届中国数据库技术大会在北京五洲皇冠国际酒店隆重举行.本届大会的主题为"大数据技术探索与价值发现",参会规模达到1,800人.大会邀请近百位顶级技术专家和行业领袖分享数据库与大数据技术的最新动态,及其在行业领域里的应用部署和管理经验. 自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB.ChinaUnix两大技术社区,已经成功举办了四届中国数据库技术大会,每届大会与会规模超过千人,是目前国内最受

欧洲杯正式开赛前约一个月的淘宝数据

东方网6月13日消息:http://www.aliyun.com/zixun/aggregation/2727.html">欧洲杯开赛,各球队及球星的球衣热销在意料之中.然而开赛后球队及球员的表现而产生的销量往往比球队和球员个真实水平有些虚高.而在正式开赛前的数据或许是对球员和球队认可度更真实的体现. 以下为5月1日至6月3日,本届欧洲杯正式开赛前约一个月的淘宝数据(不包括天猫商城) 连夺欧洲杯和世界杯冠军,西班牙队球衣的销量在榜首顺理成章,老牌强队德国意大利紧随其后.葡萄牙队球衣的销量或

淘宝数据:B罩杯销量最多

现在,飞机场.太平公主成为大家心目中的敏感词,女星都在争着显摆事业线,人们对胸部的关注似乎达到了有史以来的最高点.前日,就有媒体报道称谷歌targetmap发布了世界各地女性平均胸部大小分布图,包括中国和日本在内的诸多亚洲.非洲国家,则被代表A罩杯的绿色覆盖.不过据文胸卖家表示,云南女性可是超过了这一标准线. 淘宝数据:B罩杯销量最多 前日,有媒体报道称,谷歌targetmap发布了世界各地女性平均胸部大小分布图,根据各个颜色代表的胸部大小不同,俄罗斯国土全被代表D罩杯的红色覆盖,而包括中国和日

解决Ajax加载JSon数据中文乱码问题

一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码 async: { enable: true, url: basePath + '/sysMenu/listSysMenu', autoParam: ["id=parentId"] } SpringMvc中文字符处理: Java代码 <mvc:annotation-driven> <mvc

ASP.NET MVC中解析淘宝网页出现乱码问题的解决方法_实用技巧

最近在解析淘宝中商品的信息,结果出现乱码,如: 原因就是中文字符格式出现冲突,ASP.NET MVC 默认采用utf-8,但是淘宝网页采用gbk. 在网上找了一下,最常用的解决方法就是修改web.config: < system.web> ...... < globalization requestEncoding="gbk" responseEncoding="gbk" culture="zh-CN" fileEncoding