【问题标题】:Javascript FileReader readAsText function not understaning utf-8 encoding characters like ä and öJavascript FileReader readAsText 函数无法理解 ä 和 ö 等 utf-8 编码字符
【发布时间】:2015-05-25 17:14:09
【问题描述】:

我已经尝试过很多次搜索,但没有任何帮助。我从 csv 功能导入,javascript 代码逐行读取 csv 内容。字符 ä,ö 等只是无法识别。 FileReader readAsText 具有默认编码 utf-8,但在这种情况下,由于某种原因它无法正常工作。这是我的代码。

            reader = new FileReader()
            reader.onload = (e) =>
              result = e.target.result
              console.log result
              # file content
              fileContent = result.split("\r")

            reader.readAsText(e.target.files.item(0))

我尝试过像下面这样定义编码,但我放在那里的任何东西都帮不了我。

encoding = "UTF-8"
reader.readAsText(e.target.files.item(0), encoding)

【问题讨论】:

  • 您是否将 csv 文件保存为 UTF-8?
  • 在 mac 我只看到一个选项“逗号分隔值 (.csv),这就是保存 csv 的方式
  • 请向我们提供包含这些字符的原始 ASCII 样本。或者您可以自行检查它是否是有效的 UTF-8 编码。
  • @MikkoOhtamaa 如果你指的是文本,类似这样的输出“Ymp�rist�oppi T�m�n puun rungon tyvi muuttuu vanhemmiten tummaksi ja pitkitt�isuurteiseksi, muuten kuori on valkoinen. Lehti on kolmiomainen ja pitk�rkinen ja sen layat ovat kahteen kertaan sahalataiset. Vanhan puun oksat riippuvat ja n�ytt�vyytens� takia se on valittu Suomen kansallispuuksi。”
  • 看起来不像 UTF-8

标签: javascript csv encoding utf-8 filereader


【解决方案1】:

我通过使用 ISO Latin 4 编码来实现这一点。

reader.readAsText(e.target.files.item(0), 'ISO-8859-4');

这应该对您有用,但请记住仅对某些斯堪的纳维亚字符使用此特定编码。

【讨论】:

  • 在我的情况下,ñ 字符不起作用。我使用了编码“ISO-8859-3”并且它有效。
猜你喜欢
  • 2019-07-22
  • 1970-01-01
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多