×
  官方微博: 腾讯   新浪
ECSHOP模板 
食品保健 家居化妆 家电数码 综合通用 珠宝配饰
VIP免费模板 
家居化妆 综合通用 服装饰品 食品保健 家电数码
ECSHOP插件 
ECSHOP插件 SHOPEX插件
EC教程中心
安装使用网店运营
首页 > ECSHOP教程 > Ecshop后台批量上传CSV格式的商品数据包的出现乱码

帮助目录

有问必答

您可以加入我们的官方QQ群。

加入官方QQ群

可以将问题或建议反馈给我们。

提交在线客服

猜您感兴趣

Ecshop后台批量上传CSV格式的商品数据包的出现乱码

网站开发中心/ 2016-01-10/ 关注人气:1132

ECSHOP系统后台自带的批量导入CSV数据包功能给很多站长带来了很多方便,但是也有很多站长在使用批量上传商品的时候出现了乱码现象。字段完全和数据库中的对不上,可以说是Ecshop读CSV格式太弱了,那么该如何才能顺利的导入呢?

 
经过ECSHOP网站开发中心花了半天的功夫研究出使用file方法将每行作为一个记录读入数组$data中。就可以解决了。但是ECShop根据上传时选择的编码类型,如果不是UTF-8则会强制转换成UTF-8。但也只是支持中文GB2312编码,客户上传的数据包却是Unicode编码。还会有乱码现象还要在上传后让它自动转化为UTF-8格式就可以了。具体的步骤如下:

首先连接FTp软件找到在admin/目录下找到good_batch.php这段代码 如下:

/*将文件按行读入数组,逐行进行解析*/

$line_number=0;

$arr=array();

$goods_list=array();

$field_list=array_keys($_LANG[‘upload_goods’]);//字段列表

$data=file($_FILES[‘file’][‘tmp_name’]);

//转换编码

if(($_POST[‘charset’]!=’UTF8′)&&(strpos(strtolower(EC_CHARSET),’utf’)===0))

{

$line=ecs_iconv($_POST[‘charset’],’UTF8′,$line);

}


修改为以下代码:

/*将文件按行读入数组,逐行进行解析*/

$line_number=0;

$arr=array();

$goods_list=array();

$field_list=array_keys($_LANG[‘upload_goods’]);//字段列表

$reader=newSpreadsheet_Excel_Reader();

$reader->setOutputEncoding(‘utf-8′);

$reader->read($_FILES[‘file’][‘tmp_name’]);

$data=$reader->sheets[0][‘cells’];


因为原来程序代码中phpExcelReader包含两个文件,使用时需要将Excel/reader.phpinclude读入进来,否则当然数据会出现读不完整导致乱码等现象出现了,修改好了上传覆盖之前的文件然后再登陆网站后台更新下缓存就可以解决这个问题了。

本站推荐插件:ECSHOP后台批量导入淘宝CSV数据包插件 支持tbi图片

分享到:
下一篇:详细解说ECSHOP数据库配置文件config.php的含义
上一篇:ecshop搬家之后内页访问链接白屏的解决方法