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
分享到:
相关推荐
主要介绍了Java避免UTF-8的csv文件打开中文出现乱码的方法,结合实例形式分析了java操作csv文件时使用utf-16le编码与utf8编码相关操作技巧,需要的朋友可以参考下
里面有ipv4和ipv6地址,经纬度,城市,定位。GeoLite_-City_Locations-zh-CN.csv是ansi编码,可以用excel直接打开,GeoLite2-City-Locations-zh-CN.csv是utf-8编码,打开乱码。
excel打开csv的UTF-8编码文件,中文乱码,脚本批量转换。 将CSV文件放在bat目录下,双击批量转换.bat,生成的新文件在new文件夹中
1,所有字段如在中文,一定要以汉字开头,否则不能转为utf-8编码。 2,如转换后出现乱码,请将excel表格中的内容加上边框表格。 vcf转csv转excel步骤: 导出手机vcf文件 - VCF2CSV读取vcf转为csv表格 - 打开excel\...
2、有可能是文件编码问题,虽然UTF-8不建议带BOM,但是导出的excle是微软的产品,所以需要把文件格式改成,UTF-8有BOM格式的。 以上这篇完美解决php 导出excle的.csv格式的数据时乱码问题就是小编分享给大家的全部...
$s = @iconv('UTF-16LE', 'utf-8', substr($s, 2));//转码,substr($s,2)的作用是去掉 BOM 头 FFFE //有的第三方数据包很不规范,控制符没有用空双引号 //可能导致列数不对应,在此加上空双引号 if(!$s){ exit('...
CSV是用UTF-8编码的,而EXCEL是ANSI编码,由于编码方式不一致导致出现乱码。明白了原因之后,我们只需要把CSV文件的编码方式修改成与Excel相同的
注意:用Excel编辑csv文件后,用记事本打开,另存为UTF-8格式,否则中文显示乱码。 多选题qtype列:multichoiceset、multichoice均可。单选题填single。详细示例点击安装后的插件名称旁的帮助图标。 示例格式: ----...
‘XXX’编码不能打开XXX什么的,用记事本打开要读取的文件,另存为UTF-8编码,然后再用py去读应该可以了。如果还不行,那么尝试使用文件原有的编码方式读取,参考之前的文章 在pandas中读写csv时候通过制定encoding...
解决方法如下所示: <?... $ids = $_GET['ids']; $sql = "select * from crm...//创建一个excel对象 $objPHPExcel = new PHPExcel(); // Set properties $objPHPExcel->getProperties()->setCreator("ctos") ->setLa
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...
每个类别包含省,市,名称,地址,经度,纬度,更新时间等一共9个字段等基础信息,为utf-8编码的csv文件,一个小类一个csv文件,可以直接导入ArcGIS软件,可以用notepad++转ANSI编码可解决excel打开乱码问题。...