magento -- 在导出CSV时进行转码以保证用excel打开有中文的CSV文件时不会乱码

Magento有很多数据可以以CSV的格式导出,这一点对国外客户挺好用,但在国内使用就会有问题。对绝大多数不怎么精通电脑的国内用户来说,CSV格式的文件的默认打开方式是Excel,而Magento导出的CSV默认编码为UTF-8,Excel打开带中文的UTF-8编码的CSV时,中文会无法显示全部变乱码。对字符串转编码可以使用iconv函数,因为导出的内容都是数组或多维数组,下面推荐一个可对多维数组进行转码的函数。

     protected function d_encodeUTF8($array){

foreach($array as $key=>$value){

$array[$key] = !is_array($value)?iconv("UTF-8","GBK",$value):$this->d_encodeUTF8($array[$key]);

}

return $array;

时间: 2024-11-01 14:16:28

magento -- 在导出CSV时进行转码以保证用excel打开有中文的CSV文件时不会乱码的相关文章

Excel软件打开电脑中的csv文件显示乱码如何解决

  Excel软件打开电脑中的csv文件显示乱码如何解决           1.右击CSV文件,选择通过记事本方式打开; 2.打开后没有显示乱码,接着点击文件--另存为; 3.修改一下文件名,注意要保留csv格式,下方的编码选择UTF-8,点击保存; 4.完成后用Excel打开新保存的csv文件就不会显示乱码.

FTP下载txt文件时,在iIE浏览器中不显示下载框

问题描述 FTP下载txt文件时,在iIE浏览器中不显示下载框 FTP下载txt文件时,在iIE浏览器中不显示下载框,也不报错.其他文件格式的都可以显示,唯独txt文件不行,在火狐上面下载txt文件时正常的,看了代码res.setHeader("Content-Disposition","attachement;filename="+ new String((fileName.replaceAll(" ","")).getBy

android intent 分享音频文件时出现获取失败,怎么解决??

问题描述 android intent 分享音频文件时出现获取失败,怎么解决?? android intent 分享音频文件时出现获取失败,怎么解决?? 音频文件是sdCard上的,已经设置了权限. 代码: Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.putExtra("", Uri.fromFile(new File("sdCard", "1.mp3

Java读写txt文件时防止中文乱码问题出现的方法介绍_java

问题:在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码.原因其实很简单,就是系统的编码和程序的编码采用了不同的编码格式.通常,假如自己不修改的话,windows自身采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),而IDE中Encode不修改的话,默认是utf-8的编码,这就是为什么会出现乱码的原因.当在OS下手工创建并写入的txt文件(gbk),用程序直接去读(utf-8),就会乱码.为了避免可能的中文乱码问题,最好在文件写入和读出的时候

mfc csv 中文-mfc 操作csv文件时,无法写入汉字

问题描述 mfc 操作csv文件时,无法写入汉字 使用vs2013向csv文件写数据,但是无法写入汉字,英文和数字可以正常写入 求大神指导 解决方案 //设置语言为中文,否则在Unicode编码下读出中文字符为乱码 char* old_locale = _strdup(setlocale(LC_CTYPE, NULL)); setlocale(LC_CTYPE, "chs"); ... 文件操作 ... setlocale(LC_CTYPE, old_locale); //还原语言区域

使用NPOI导出EXCEL,设置单元格为货币格式时无效.

问题描述 使用NPOI导出EXCEL,设置单元格为货币格式时无效. 在使用NPOI导出EXCEL时,设置了单元格格式为货币格式,但是导出来的数据格式还是为通用格式, 求解!!! 格式代码: ICell cell = contentRow.CreateCell(2); //cell.SetCellValue((double)result.PeriodPayoffInterest.Value); cell.SetCellValue(20000); //set date format 设置单元格格式

csv-java中读取CSV文件时怎么处理数据当中的逗号?

问题描述 java中读取CSV文件时怎么处理数据当中的逗号? 现在要读取一个CSV文件,将内容读取后用excel的格式输出, 读取的时候使用StringTokenizer类,用逗号将CSV的数据用逗号一个个分割, csv的格式是这样的(值与值之间用半角逗号分隔): "aaa","bbb","ccc","ddd","eee"; 像这样的情况是没有问题的: 但是当数据中也有半角逗号时,例如: "aaa

用httpclient调用google elevation api时返回状态码为405

问题描述 用httpclient调用google elevation api时返回状态码为405 如题:代码如下,为神马返回状态码为405呢?有哪位大神用过google elevation api,通过浏览器直接访问接口正常,用httpclient访问在不设置代理前直接连接超时,设置代理后后返回405的状态码. public static void test2(){ try { SSLContext sslcontext = SSLContexts.custom() .loadTrustMate

C# 程序定时向硬盘的csv文件写进数据, 同时 客户会打开此csv文件 怎样使得打开的时候不更新数据 关闭 再下次打开文件时 把期间的数据写进csv文件中去

问题描述 C#程序定时向硬盘的csv文件写进数据,同时客户会打开此csv文件怎样使得打开的时候不更新数据关闭再下次打开文件时把期间的数据写进csv文件中去 解决方案 解决方案二:我就在线等.....解决方案三:http://bbs.csdn.net/topics/320082995不知道上面的帖子能不能帮到你解决方案四:引用2楼yahle的回复: http://bbs.csdn.net/topics/320082995不知道上面的帖子能不能帮到你 没帮到什么还是谢谢解决方案五:我想知道,你是怎么