`

utf-8 csv 文件用 excel 打开乱码问题

    博客分类:
  • PHP
阅读更多
utf-8 csv 文件用 excel 打开乱码问题

其实这个问题很久之前遇到过, 应该是没解决, 当时的情况是openoffice打开正常而excel打开不正常, 后来也没解决了, 只能把编码转了.

这次又遇到这个问题了, 在网上一番寻找, 在一篇java的文章里找到了原因, 是由于输出的CSV文件中没有BOM.

引用
    什么是BOM?

    在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。
    UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
    Windows就是使用BOM来标记文本文件的编码方式的。


那么如何在PHP中输出BOM呢?

在所有内容输出之前

    print(chr(0xEF).chr(0xBB).chr(0xBF));

原文地址: http://foolbird.net/1517.html
0
0
分享到:
评论
1 楼 mingchong2882 2011-01-03  
c#要怎么写

相关推荐

    Java避免UTF-8的csv文件打开中文出现乱码的方法

    主要介绍了Java避免UTF-8的csv文件打开中文出现乱码的方法,结合实例形式分析了java操作csv文件时使用utf-16le编码与utf8编码相关操作技巧,需要的朋友可以参考下

    GeoLite2-City-CSV_20200324.zip

    里面有ipv4和ipv6地址,经纬度,城市,定位。GeoLite_-City_Locations-zh-CN.csv是ansi编码,可以用excel直接打开,GeoLite2-City-Locations-zh-CN.csv是utf-8编码,打开乱码。

    bat脚本将csv格式UTF-8批量转ANSI

    excel打开csv的UTF-8编码文件,中文乱码,脚本批量转换。 将CSV文件放在bat目录下,双击批量转换.bat,生成的新文件在new文件夹中

    excel转csv转vcf和vcf转csv转excel

    1,所有字段如在中文,一定要以汉字开头,否则不能转为utf-8编码。 2,如转换后出现乱码,请将excel表格中的内容加上边框表格。 vcf转csv转excel步骤: 导出手机vcf文件 - VCF2CSV读取vcf转为csv表格 - 打开excel\...

    完美解决php 导出excle的.csv格式的数据时乱码问题

    2、有可能是文件编码问题,虽然UTF-8不建议带BOM,但是导出的excle是微软的产品,所以需要把文件格式改成,UTF-8有BOM格式的。 以上这篇完美解决php 导出excle的.csv格式的数据时乱码问题就是小编分享给大家的全部...

    php导入淘宝助理csv文件乱码问题

    $s = @iconv('UTF-16LE', 'utf-8', substr($s, 2));//转码,substr($s,2)的作用是去掉 BOM 头 FFFE //有的第三方数据包很不规范,控制符没有用空双引号 //可能导致列数不对应,在此加上空双引号 if(!$s){ exit('...

    爬虫csv乱码1

    CSV是用UTF-8编码的,而EXCEL是ANSI编码,由于编码方式不一致导致出现乱码。明白了原因之后,我们只需要把CSV文件的编码方式修改成与Excel相同的

    Moodle批量导入CSV文件格式的试题插件,支持多选和单选题

    注意:用Excel编辑csv文件后,用记事本打开,另存为UTF-8格式,否则中文显示乱码。 多选题qtype列:multichoiceset、multichoice均可。单选题填single。详细示例点击安装后的插件名称旁的帮助图标。 示例格式: ----...

    Python之pandas读写文件乱码的解决方法

    ‘XXX’编码不能打开XXX什么的,用记事本打开要读取的文件,另存为UTF-8编码,然后再用py去读应该可以了。如果还不行,那么尝试使用文件原有的编码方式读取,参考之前的文章 在pandas中读写csv时候通过制定encoding...

    完美解决phpexcel导出到xls文件出现乱码的问题

    解决方法如下所示: <?... $ids = $_GET['ids']; $sql = "select * from crm...//创建一个excel对象 $objPHPExcel = new PHPExcel(); // Set properties $objPHPExcel->getProperties()->setCreator("ctos") ->setLa

    北京2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    深圳2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    成都2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    广州2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    天津2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    重庆2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    苏州2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    上海2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    杭州2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

    南京2021兴趣点(POI)数据

    每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...

Global site tag (gtag.js) - Google Analytics