ECshop导入淘宝数据包乱码问题解决方法
ECshop在导入淘宝数据包的时候出现数据乱码。
测试版本 ecshop2.73
利用淘宝助手导出一个数据包(.csv),不要一次全部商品导出,最好是将数据包控制在1M左右,因为ecshop对上传文件有限制。
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代码。
ECshop导入淘宝数据包乱码问题解决方法的更多相关文章
- python 脚本开发实战-当当亚马逊图书采集器转淘宝数据包
开发环境python2.7.9 os:win-xp exe打包工具pyinstaller 界面tkinter ============================================= ...
- JMeter接口测试响应数据中乱码问题解决方法
乱码产生原因: 结果处理编码与被测对象的编码不一致,JMeter是默认按照ISO-8859-1编码格式进行解析. 解决方法一: 根据接口文档或者找开发确认项目编码是哪种,因为有的项目用的是GBK,有的 ...
- redis数据存入乱码问题解决方法
第一步:配置RedisTemplate @Configuration public class RedisConfigurtion { @Autowired private RedisTemplate ...
- ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法
ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法 近来正在分析淘宝中商品的信息,效果发生乱码,如: 原因便是中文字符格式发生冲突,ASP.NET MVC 默认采用utf-8,可是淘宝网页采用g ...
- Spring MVC3返回JSON数据中文乱码问题解决(转)
Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...
- [转]mysql导入导出数据中文乱码解决方法小结
本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...
- 【转】asp.net Cookie值中文乱码问题解决方法
来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqia ...
- python3 库pandas写入csv格式文件出现中文乱码问题解决方法
python3 库pandas写入csv格式文件出现中文乱码问题解决方法 解决方案: 问题是使用pandas的DataFrame的to_csv方法实现csv文件输出,但是遇到中文乱码问题,已验证的正确 ...
- WingIDE中文乱码问题解决方法
WingIDE中文乱码问题解决方法 安装完WingIDE后,首次运行python脚本时,若脚本中含有UTF-8中文,在Debug I/O输出框中,全部变成了乱码. 这时其实我们设置下WingIDE的编 ...
随机推荐
- QT--以共享的方式发布应用,QT依赖库
Building Qt as a Shared Library 因为:QT基本上都是采用动态编译的(被安装的OS中的),(如安装包往往都是默认动态编译处理好的动态库),所以我们采用动态连接的方式进行发 ...
- MariaDB5.5(mysql)的partitioning设置 for Zabbix3.0
用zabbix的同学都知道,一台服务器监视几百几千台服务器,一个服务器几十个item,长年下来数据量是很惊人的. 而zabbix自带的housekeeping功能,默认状态下的删除速度完全跟不上数据增 ...
- ASP.NET MVC学习之Ajax(完结)
一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...
- .NET跨平台:再见dnx,你好dotnet cli
昨天在github上dnx的一个issue中看到这样一段话: we're retiring dnx/dnu/dnvm toolchain and will move to dotnet CLI in ...
- js call
转载地址:http://www.cnblogs.com/sweting/archive/2009/12/21/1629204.html call 方法 请参阅 应用于:Function 对象 要求 版 ...
- [C++] 行程编码C++代码
#include<iostream> #include<string.h> #include<string> #include<cstring> #in ...
- Msbuild利用cpu多核加速
msbuild /t:Rebuild /p:Configuration=Release /m /m 自动检测cpu数量启动对应数量进程
- atitit.eclipse 新特性总结3.1--4.3
atitit.eclipse 新特性总结3.1--4.3 Eclipse 3.1 1 Eclipse 3.2 Java开发工具的新特性 2 1. 内容辅助(Ctrl+Space)模板 2 2. 动态地 ...
- JAVA实现多线程入门
package com.thread;/** * 1:程序员可以在程序中执行多个线程,每一个线程完成一个功能,并于其他线程并发执行,这种 * 机制被称为多线程 * 2:实现线程的两种方法是,分别是继承 ...
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...