【发布时间】:2010-09-14 09:10:03
【问题描述】:
我正在以编程方式将数据(使用 PHP 5.2)导出到 .csv 测试文件中。
示例数据:Numéro 1(注意带重音的 e)。
数据为 utf-8(无前置 BOM)。
当我在 MS Excel 中打开此文件时,显示为 Numéro 1。
我可以在正确显示它的文本编辑器 (UltraEdit) 中打开它。 UE 报告字符为decimal 233。
我如何导出文本 .csv 文件中的数据,以便 MS Excel 能够正确呈现它,最好不要强制使用导入向导,或者不使用默认向导设置?
【问题讨论】:
-
我很想了解更多关于您的 BOM 解决方案的信息,因为我相信我已经尝试过对我不起作用的“EF BB BF”。
-
选择的工作解决方案是: * 包括 BOM ; utf-8 * 使用此标头:'内容类型:文本/纯文本; charset=utf-8' 这在 excel 2003 和 excel 2007 中“有效”——有效 = 在没有导入向导的情况下打开并正确呈现变音符号。我没有验证是否需要 BOM。
-
BOM是必填项,我刚刚测试了这个。没有它,特殊字符将无法正常显示。
-
如果有人能详细说明如何添加 BOM(字节顺序标记),我会很高兴的。如果我只是执行类似 Response.Write(EF BB BF") 之类的操作,那么这些字符只会显示在文件的开头。
-
sydneyos:正如 Fergal 在下面所说的那样;将 \uFEFF 添加到您的字符串中。
标签: excel encoding csv diacritics