国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

ecshop商品批量上傳亂碼讀CSV的方式問題

2024-04-25 20:30:34
字體:
供稿:網(wǎng)友

 客戶反映,ECShop后臺用CSV批量上傳商品數(shù)據(jù)包出現(xiàn)一堆亂碼,字段完全對不上。分析了代碼后發(fā)現(xiàn),ECShop讀CSV的方式弱爆了。在admin/目錄下找到good_batch.php這段代碼 

復(fù)制代碼代碼如下:

/*將文件按行讀入數(shù)組,逐行進(jìn)行解析*/ 

$line_number=0; 

$arr=array(); 

$goods_list=array(); 

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

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

用file方法將每行作為一個記錄讀入數(shù)組$data中。這里會有個問題,當(dāng)商品描述里出現(xiàn)換行符,讀入就會出錯。 

繼續(xù)往下看。ECShop根據(jù)上傳時選擇的編碼類型,如果不是UTF-8則會強(qiáng)制轉(zhuǎn)換成UTF-8。但也只是支持中文GB2312

碼,客戶上傳的數(shù)據(jù)包卻是Unicode編碼(客戶用淘寶助理導(dǎo)出),結(jié)果就亂碼了。 

復(fù)制代碼代碼如下:

//轉(zhuǎn)換編碼 

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

$line=ecs_iconv($_POST['charset'],'UTF8',$line); 

EC的編碼轉(zhuǎn)換果真是奇葩,好端端的mb庫放著不用,偏要自己搞一套。用phpExcelReader導(dǎo)入Excel文件就工作得很好,

碼都不存在問題。于是,把這段代碼改了。 

代碼如下:

/*將文件按行讀入數(shù)組,逐行進(jìn)行解析*/ 

$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進(jìn)來。修改完之后,問題解決。

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉龙| 涡阳县| 车险| 兰溪市| 梁河县| 贵溪市| 阿坝| 称多县| 全州县| 驻马店市| 海兴县| 滁州市| 麻阳| 鄂伦春自治旗| 中西区| 怀柔区| 临潭县| 乌海市| 东宁县| 永清县| 东源县| 连云港市| 唐海县| 修文县| 将乐县| 罗甸县| 鸡东县| 申扎县| 绥中县| 万盛区| 五华县| 湟源县| 清丰县| 夏邑县| 渝中区| 洪湖市| 育儿| 枣庄市| 临洮县| 泰来县| 宝鸡市|