php导出csv文件乱码有关问题解决办法
php导出csv文件乱码问题解决方法
php导出csv文件乱码问题解决方法
说 这个问题之前首先来说一下什么是CSV文件?Comma Separator Value(逗号分隔值)是也。常常用来数据转换的中间文件存在,比如:从Mysql中导出数据到CSV,导入CSV到SqlServer中。在 Linux下用PHP脚本从Mysql数据库中将表的数据按照条件导出成csv,使用utf-8编码导出CSV文件,打开后里边的中文成了乱码 (Windows下CSV文件默认与Microsoft Excel关联),用Notepad++或者Word打开正常,不过排版很乱。原因:BOM惹的祸,微软惹的祸。
什么是BOM?Byte Order Mark(比特序标记)是也。
为 了识别 Unicode 文件,Microsoft 建议所有的 Unicode 文件应该以 ZERO WIDTH NOBREAK SPACE字符开头。这作为一个”特征符”或”字节顺序标记(byte-order mark,BOM)”来识别文件中使用的编码和字节顺序(big-endian或little-endian),具体的对应关系见下表。
?
00 00 FE FF | UTF-32, big-endian |
FF FE 00 00 | UTF-32, little-endian |
FE FF | UTF-16, big-endian |
FF FE | UTF-16, little-endian |
EF BB BF | UTF-8 |
?
类Unix系统中并没有使用 BOM,因为它会破坏现有的 ASCII 文件的语法约定。
实现代码如果
<?php $str = "哈,哈,哈,哈"; $fp = fopen("a.csv","a"); //在写入数据之前先把bom头写到文件里 fwrite($fp,"\xEF\xBB\xBF"); //再写入数据 php程序员站 fwrite($fp,$str); phperz.com fclose($fp); phperz.com ?>
注:在写csv文件时确保php源码是utf-8,并且无BOM,并且没有输出任何内容。
BOM实际上挺烦人,如果你的网页(*.html)有BOM,在IE6.x下面打开会发现一神奇的空行,Firefox下却没有
?
来源:http://www.i-felix.cn/blog/phpdao-chu-csvwen-jian-luan-ma-wen-ti-jie-jue-fang-fa-gai-si-de-wei-ruan
?
?

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.
