`

PHP写二进制BOM头

阅读更多

今天在做数据(utf8)导出的时候,直接使用了PHP的putcsv函数,这样写出来的csv文件,在office2010中打开是乱码,原因是没有BOM头,他默认理解为GB2312了,因此在putcsv之前为文件增加BOM头,代码如下:

 

$content = pack('H*','EFBBBF');
fwrite($fp, $content);

 

这样就可以在office中直接打开了。

1
0
分享到:
评论
1 楼 z.y.f 2011-12-10  
这招狠毒,mark之。。。

相关推荐

    php中文乱码.zip

    1. 字符编码:如GBK、UTF-8等,它们规定了字符集中的每个字符如何用二进制表示。在Web开发中,UTF-8是最常用的一种编码,因为它能覆盖大部分语言的字符。 2. HTTP头信息:HTTP协议允许在请求和响应中携带一些元数据...

    php下载文件,添加响应头的简单实例

    对于文件下载,通常设置为`application/octet-stream`,它告诉浏览器这是一个二进制流数据,而不是可以直接在浏览器中显示的内容。 2. `Content-Disposition`: 这个头用来指示浏览器如何处理响应体。当设置为`...

    php解析http获取的json字符串变量总是空白null

    pack()函数可以将指定的格式和值打包成二进制字符串,这里使用的是"CCC"格式,代表三个无符号字符(unsigned char)。如果前三个字节匹配BOM的字节序列,则使用substr()函数去除这三个字节,之后再对处理后的字符串...

    php写入txt乱码的解决方法

    - 使用fwrite()函数:在打开文件时,可以设置模式为"wb"(二进制写入模式),这可以避免自动添加BOM的问题。然后使用fwrite()函数写入BOM和内容。 - 使用file_put_contents()函数:这个函数可以更简洁地完成文件的...

    php编码转换,不需要iconv,mb_convert_encoding

    编码是将字符集中的字符映射为数字或二进制表示的过程,常见的字符集有ASCII、ISO-8859-1、GB2312、GBK以及UTF-8等。在PHP中,处理字符串时,必须确保字符串的编码与预期一致,否则可能会出现乱码问题。 尽管`iconv...

    PHP生成UTF8文件的方法

    这里需要注意的是,fopen函数的模式参数选择了"wb",这表示以二进制写模式打开文件。在Windows系统下,如果以文本模式写入文件,PHP会自动将换行符转换为Windows的\r\n,这可能会影响到文件中二进制数据的准确性。...

    PHP写入WRITE编码为UTF8的文件的实现代码

    - **`fopen()`**:使用`"wb"`模式打开名为`test.txt`的文件,其中`w`表示写入模式,`b`表示二进制模式,确保文件以二进制形式写入。 - **`utf8_encode()`**:此函数用于将给定的字符串转换为UTF-8编码。在这个例子中...

    php使用fopen创建utf8编码文件的方法

    // 使用fopen以写入模式打开文件,并设置为二进制模式 $f = fopen($filename, 'wb'); // 如果文件打开成功 if ($f) { // 用utf8_encode函数将字符串编码为UTF-8格式 $text = utf8_encode($str); // 在编码后的...

    php读取图片内容并输出到浏览器的实现代码

    在提供的代码中,`imgdata`类包含三个属性:`$imgsrc`存储图片的源路径,`$imgdata`存储图片的二进制数据,`$imgform`存储图片的MIME类型。该类有四个方法: 1. `getdir($source)`:接收图片路径并将其存储在`$img...

    PHP 中文乱码解决办法总结分析

    编码决定了字符集,它决定了如何将字符转化为二进制数据进行存储和传输。在PHP中,网页的编码通常分为两种常见格式:GBK(GB2312的扩展)和UTF-8。正确设置编码是避免乱码的关键: 1. **PHP文件编码与网页编码匹配*...

    php下载文件的代码示例

    `Content-Description`说明这是一个文件传输,`Content-Type`指定文件的MIME类型,这里是二进制数据(`application/octet-stream`)。`Content-Disposition`设置为`attachment`,告诉浏览器应该将文件作为附件下载,而...

    linux 查看文件编码

    5. **hexdump** 或 **xxd**:这两个命令可以展示文件的十六进制表示,通过分析这些二进制数据,有时可以手动判断编码。但这需要对编码有一定的理解。 在处理PHP文件时,如`cp.php`,确保文件编码正确至关重要,因为...

    关于PHP自动判断字符集并转码的详解

    在UTF-8中,第一个字节的最高三位有特殊的标记(224的二进制表示为1110xxxx),而第二个字节的最高两位则被设置为10xxxxxx。在GB2312/GBK中,如果第一个字节的最高位是110xxxxx,则它代表一个中文字符的开始。英文...

    WordPress源代码中文乱码的解决方法

    在计算机系统中,中文字符需要通过特定的编码方式转换成二进制数据才能被处理。常见的编码格式有GBK、GB2312以及Unicode家族的UTF-8等。其中,UTF-8是一种广泛使用的编码格式,它能兼容ASCII编码,同时支持全世界大...

    PHP学习散记_编码(json_encode 中文不显示)

    另一种可能的解决方案是使用`base64_encode`,它将任意二进制数据编码为ASCII字符串。但是,`base64_encode`的结果不能直接用于URL,因为它包含的字符可能与URL特殊字符冲突。尽管如此,如果数据通过POST请求发送,...

    浅析PHP中的UNICODE 编码与解码

    在实现UNICODE编码与解码的过程中,我们需要注意字符编码的细节,例如,UNICODE编码涉及的字符范围、字符的字节顺序标记(BOM)、以及编码转换时可能产生的字符截断问题等。在实际应用中,合适的编码和解码策略能够...

    thinkphp,onethink和thinkox中验证码不显示的解决方法分析

    在生成验证码的场景下,如果页面之前已经产生了其他输出(如HTML、CSS或JavaScript),这些内容可能已经被缓冲,而验证码图像作为二进制流,无法与已存在的缓冲内容合并。这时,调用`ob_clean()`可以确保在输出...

    机械设计制造有限公司网站系统源代码

    "1057"可能是一个文件名或者版本号,这可能是数据库文件、编译后的二进制文件、或者是项目的一部分。 从这些信息中,我们可以提取以下几个相关知识点: 1. **网站开发**:包括前端界面设计和后端逻辑实现,如HTML...

Global site tag (gtag.js) - Google Analytics