当前位置: 首页 > 知识库问答 >
问题:

编写CSV文件-编码问题

马华茂
2023-03-14

我在PHP中有一个CSV字符串,它被mb_detect_编码检测为UTF8。此字符串将写入文件。当我在文本编辑器(程序员记事本)中打开它时,编辑器会说它是UTF8无标记的,当我将编码更改为ANSI时,它会在Excel中正确打开。我想用ANSI编写这个文件,这样在Excel中打开它之前就不必在文本编辑器中进行转换。尝试使用以下命令:

  • utf8_解码($xhtml)
  • iconv(“UTF-8”、“Windows-1252”和$xhtml)
  • iconv(“UTF-8”、“ISO-8859-1”、$xhtml)
  • mb_转换_编码($xhtml,“ISO-8859-1”,“UTF-8”)

使用utf8_解码显示为问号的特殊字符。iconv和mb_convert_编码在第一个特殊字符处剪切字符。您知道如何将此字符串放入Excel中打开的文件中吗?

共有1个答案

白泽语
2023-03-14

所以你可能导出了你可爱的数据库,完美地存储在UTF-8编码中,然后在Excel中打开csv,看到一堆看起来很疯狂的字符,它们应该在哪里?

好吧,这里有一个修复方法:在文件中添加一个字节顺序标记。Excel非常需要它。。

function customer_download($file) {
    header('Content-Type: application/force-download');
    header('Content-Description: File Transfer');
    header('Content-disposition: attachment; filename="'.$file.'"');
    @include_once('file_get_contents.php');
    $csv = @file_get_content($file);
    die(chr(0xEF).chr(0xBB).chr(0xBF).$csv);
}
 类似资料:
  • 问题内容: 我有一个包含unicode字符串的词典列表。 可以将字典列表写入CSV文件。 我希望CSV文件以UTF8编码。 该模块无法处理将unicode字符串转换为UTF8的操作。 该模块文档具有的一切转换为UTF-8的例子: 它也有一个类。 但是…我该如何处理这些?他们是否不必将自己插入其中,以捕获反汇编的字典并对其进行编码,然后再将其写入文件中?我不明白 问题答案: 更新 :第三方unico

  • 问题内容: 我试图在Windows计算机上使用Python 3.2编写一个简单的CSV文件,但是我没有运气。从Python 3.2 的csv模块文档中: 产生一个文件,该文件的每一行都以字节序列结尾,因此当您使用MS Excel等打开文件时,每行看起来都有一个多余的空行。这不是“ CSV文件”。 请注意,如果我在Python 3.2中尝试相同的Python 2.7示例(最大的区别在于文件模式与vs

  • 问题内容: 即时通讯读取一个csv文件,然后编写一个新文件: 由于某种原因,我无法使csv.writer关闭文件。当我打开文件时,它以只读状态打开,因为它说仍然打开。 完成后如何关闭thefile_subset1.csv? 问题答案:

  • 我是ServiceStack的新手。它具有为数据提供csv文件的功能,但我需要以UTF8格式下载它,因为我得到一些特殊字符。我尝试过这个配置设置。 但运气不好。。请指出我做错了什么。

  • 我需要将javascript数组导出到excel文件并下载它,我正在此代码中执行此操作。数据是一个脚本对象数组。 所有这些都很好,直到我有了非英语字符的字符串属性,比如西班牙语、阿拉伯语或希伯来语。如何使用所有这些非ASCII值进行导出?