使用php创建时指定.doc文件编码?

时间:2011-01-13 13:51:18

标签: php

目前我尝试创建一些更自动化的数据库导出工作,我决定将数据从MySql数据库导出到php中的.doc文件。

所以我正在做一些数据库工作并将完整的html存储到$ str变量然后写/创建新文件:

  

$ fp = fopen($ file,'w +');   FWRITE($ FP,$海峡);   FCLOSE($ FP);

这里的问题不是创建.doc文件,但是当我下载并查看.doc文件时,它不是UTF-8,而是unicode。

1 个答案:

答案 0 :(得分:3)

您是否意识到为文件提供.doc扩展名并不会使其成为Word文档?

无论如何,如果你的$str和HTML是用UTF-8编码的,那么应该是下载的文件。否则用适当的

发送
header("Content-Type: text/html; charset=UTF-8");

它不能合理地“在unicode”。你需要解释一下这意味着什么。它肯定不会从UTF-8自动转换为UCS-4(任何4字节的原始unicode表示)。

但是,您可以包含UTF-8 BOM以确定:

fwrite($fp, pack("HHH", 0xEF, 0xBB, 0xBF));