最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

php导出csv乱码怎么办

来源:懂视网 责编:小采 时间:2020-11-02 18:46:11
文档

php导出csv乱码怎么办

php导出csv乱码怎么办:php导出csv乱码的解决办法就是在文件的开始输出BOM头,告诉windows CSV文件的编码方式,从而让Excel打开CSV时采用正确的编码。PHP导出CSV文件出现乱码的解决方法 在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码。但是,在用PHP导出CSV文件时,
推荐度:
导读php导出csv乱码怎么办:php导出csv乱码的解决办法就是在文件的开始输出BOM头,告诉windows CSV文件的编码方式,从而让Excel打开CSV时采用正确的编码。PHP导出CSV文件出现乱码的解决方法 在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码。但是,在用PHP导出CSV文件时,

PHP导出CSV文件出现乱码的解决方法

  在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码。但是,在用PHP导出CSV文件时,如果写入的数据是使用UTF-8编码的日语、韩语之类的外文,就会出现乱码。

  要解决PHP生成CSV文件的乱码问题,只需要在文件的开始输出BOM头,告诉windows CSV文件的编码方式,从而让Excel打开CSV时采用正确的编码。

什么是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来标记文本文件的编码方式的

  在所有内容输出之前

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

  几个UTF编码的BOM头

   define ('UTF32_BIG_ENDIAN_BOM' , chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
   define ('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
   define ('UTF16_BIG_ENDIAN_BOM' , chr(0xFE) . chr(0xFF));
   define ('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
   define ('UTF8_BOM' , chr(0xEF) . chr(0xBB) . chr(0xBF));

完整的代码

header('Expires: 0');
 header('Cache-control: private');
 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
 header('Content-Description: File Transfer');
 header('Content-Encoding: UTF-8');
 header('Content-type: text/csv; charset=UTF-8');
 header('Content-Disposition: attachment; filename=Customers_Export.csv');

echo "xEFxBBxBF"; // UTF-8 BOM
// print(chr(0xEF).chr(0xBB).chr(0xBF));

更多相关知识,请访问PHP中文网!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

php导出csv乱码怎么办

php导出csv乱码怎么办:php导出csv乱码的解决办法就是在文件的开始输出BOM头,告诉windows CSV文件的编码方式,从而让Excel打开CSV时采用正确的编码。PHP导出CSV文件出现乱码的解决方法 在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码。但是,在用PHP导出CSV文件时,
推荐度:
标签: 乱码 解决 php
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top