亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

PHP生成UTF-8編碼的CSV文件用Excel打開亂碼的解決辦法

瀏覽:104日期:2022-06-02 15:40:51

原因:是由于輸出的CSV文件中沒有BOM。

什么是BOM?

在UCS 編碼中有一個叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的編碼是FEFF。而FFFE在UCS中是不存在的字符,所以不應該出現在實際傳輸中。UCS規(guī)范建議我們在傳輸字節(jié)流前,先傳輸字符”ZERO WIDTH NO-BREAK SPACE”。這樣如果接收者收到FEFF,就表明這個字節(jié)流是Big-Endian的;如果收到FFFE,就表明這個字節(jié)流是Little- Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被稱作BOM。

UTF-8不需要BOM來表明字節(jié)順序,但可以用BOM來表明編碼方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8編碼是EF BB BF。所以如果接收者收到以EF BB BF開頭的字節(jié)流,就知道這是UTF-8編碼了。

Windows就是使用BOM來標記文本文件的編碼方式的。

如何在PHP中輸出BOM?

在所有內容輸出之前

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

示例代碼:

<?php function writeCsvToFile($file,array $data){$fp = fopen($file, ’w’);//Windows下使用BOM來標記文本文件的編碼方式fwrite($fp,chr(0xEF).chr(0xBB).chr(0xBF));foreach ($data as $line) { fputcsv($fp, $line);}fclose($fp); }

標簽: excel
相關文章:
主站蜘蛛池模板: 九九久久99综合一区二区 | 成人性欧美丨区二区三区 | 免费在线日韩 | 国产免费一区二区在线看 | 久久国产成人精品 | 精品综合 | 亚洲精品中文字幕区 | 国产福利不卡视频 | 女人被狂躁视频免费版 | 在线观看91香蕉国产免费 | 99久久精品费精品国产一区二 | 国自产在线精品免费 | 国产午夜精品福利视频 | 日韩中文字幕推理片 | 国产uv1区二区三区 国产va免费精品观看 | 97碰碰碰免费公开在线视频 | 亚洲欧洲精品视频在线观看 | 中文字幕在线色 | 日韩精品欧美国产精品亚 | 亚洲午夜片 | 日本无翼乌邪恶彩色大全 | 精品亚洲视频在线观看 | 亚洲欧美久久一区二区 | 五月快播 | 免费高清欧美大片在线观看 | 亚洲婷婷综合中文字幕第一页 | 在线看片y | 欧洲无线区一二区 | 美国人和动物xxx | 色黄网站aaaaaa级毛片 | 精品国产福利一区二区在线 | 亚洲精品99久久久久中文字幕 | 在线播放黄色片 | 亚洲无av码一区二区三区 | 亚洲网视频 | 一级免费视频 | 亚洲精品综合久久 | 国产成人亚洲精品影院 | 五月天六月婷婷开心激情 | 97成人啪啪网| 色婷婷啪啪 |