目前我尝试创建一些更自动化的数据库导出工作,我决定将数据从MySql数据库导出到php中的.doc文件。
所以我正在做一些数据库工作并将完整的html存储到$ str变量然后写/创建新文件:
$ fp = fopen($ file,'w +'); FWRITE($ FP,$海峡); FCLOSE($ FP);
这里的问题不是创建.doc文件,但是当我下载并查看.doc文件时,它不是UTF-8,而是unicode。
答案 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));