国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 翁牛特旗| 英德市| 马龙县| 崇礼县| 隆子县| 乌鲁木齐市| 老河口市| 山丹县| 大名县| 安达市| 鹤峰县| 望奎县| 乌恰县| 调兵山市| 安义县| 霍城县| 广东省| 黑水县| 安龙县| 丹巴县| 顺义区| 临汾市| 利辛县| 渝北区| 绥江县| 白河县| 东宁县| 铁岭市| 河西区| 和政县| 梁山县| 石城县| 松江区| 鄯善县| 渑池县| 临沧市| 孟州市| 雷州市| 梅州市| 南木林县| 中西区|