300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > php 0xef 0xbb 0xbf utf-8编码的csv文件 用excel打开乱码 解决办法 在输出前加 0xEF 0xBB 0xBF三个char...

php 0xef 0xbb 0xbf utf-8编码的csv文件 用excel打开乱码 解决办法 在输出前加 0xEF 0xBB 0xBF三个char...

时间:2019-11-25 23:12:22

相关推荐

php 0xef 0xbb 0xbf utf-8编码的csv文件 用excel打开乱码 解决办法 在输出前加 0xEF 0xBB 0xBF三个char...

转自 /zcmssd/article/details/6086649

是由于输出的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));

如何解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题

为了识别 Unicode 文件,Microsoft 建议所有的 Unicode 文件应该以 ZERO WIDTH NOBREAK SPACE字符开头.这作为一个”特征符”或”字节顺序标记(byte-o ...

解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题

在要输出的内容前先输出"\xEF\xBB\xBF", eg:要输出的内容保存在$content里$content = "\xEF\xBB\xBF".$conte ...

PHP生成UTF-8编码的CSV文件用Excel打开乱码的解决办法

什么是BOM? 在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF.而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中.UCS规范建 ...

PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题

在你要输出的内容前先输出"\xEF\xBB\xBF",例如:你要输出的内容保存在$content里$content = "\xEF\xBB\xBF".$cont ...

csv 文件用Excel打开乱码

最近在做一个上传的功能,记录下自己的感受. 刚开始我用的是excel上传:但是发现客户服务器有用64位的,使用的时候程序会报错: 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” ...

java导出csv文件使用Excel打开乱码问题

写一个csv文件,发现使用 notpad++ 打开是没有问题的,但是使用 Excel 打开之后显示乱码 刚开始的代码是这样子的: ByteArrayOutputStream os = new Byte ...

PHP 导出 CSV 文件用 Excel 打开出现中文乱码

本篇文章由:/php-export-csv-file-opened-by-excel-appear-garbled/ 乱码情况 写了一段导出 CSV 文件的代码,可 ...

导出csv文件时韩文乱码解决方法

从导出csv这样配置可以防止韩文等乱码,在头部加上0xEF, 0xBB, 0xBF: string fileName = "attachment;filename=" ...

python3 写CSV文件多一个空行的解决办法

Python文档中有提到: open('eggs.csv',newline='') 也就是说,打开文件的时候多指定一个参数.Python文档中也有这样的示例: import csvwith open ...

随机推荐

asp.net中选择数字时,另外的数字同时发生变化(适用dev控件)

关键:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。