【问题标题】:Why adding '?' type of special character in blob为什么要加“?” blob 中特殊字符的类型
【发布时间】:2017-12-31 03:15:24
【问题描述】:

在我的项目中,我想将我的数据导出为csv 格式。它工作正常,但它在第一个索引中添加了一个特殊字符。为什么??

var blob = new Blob([
    'Modified On,Created By,Name,Start Time, ...'
], {
    type: "text/csv;charset=utf-8"
});
var filename = "mycsvfile.csv";
saveAs(blob, filename);
<script src="https://fastcdn.org/FileSaver.js/1.1.20151003/FileSaver.min.js"></script>

当我在我的 vs-code 编辑器中打开它时,它显示了一个特殊字符。

我该如何解决这个问题。

【问题讨论】:

  • 使用记事本、notepad++、excel 和 vs-code 打开时,我没有特殊字符。
  • 但我附上了 vs-code 的屏幕截图。它显示一个特殊字符
  • 当您在记事本或记事本++ 中打开同一个文件时,它看起来是否正确?正如我所说,这只是一个环境问题,vs-code 不知道要阅读什么语言
  • 可能是UTF-8 BOM(字节序标记)。
  • 当我在 notepad++ 中打开这个文件时,gedit 看起来是正确的。 @tyler_mitchell

标签: javascript csv blob export-to-csv filesaver.js


【解决方案1】:

这很可能是 BOM(字节顺序标记) https://en.wikipedia.org/wiki/Byte_order_mark

Notepad++(在编码菜单下)可以选择在没有 BOM 的情况下保存它或搜索 BOM 删除器。

【讨论】:

    【解决方案2】:

    解决了。 更改文件类型

    type: 'text/csv;charset=utf-8'
    

    type: 'application/octet-binary'
    

    现在它工作正常。

    【讨论】:

      猜你喜欢
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      相关资源
      最近更新 更多