【问题标题】:D3.js read csv file with special characters, é à ü èD3.js 读取带有特殊字符的 csv 文件,é à ü è
【发布时间】:2016-11-13 05:59:26
【问题描述】:

最好的

我有一个小问题。 您如何读入包含特殊字符而没有 ?l?ve (élève) 等词的 csv 文件。

此时我正在使用:

d3.csv("xml/info.csv", function(data) {
  for (obj in data) {
                console.log(data[obj].name.toLowerCase())   
   }
}

+ 我的 html 在标题中包含下一句

<meta charset="utf-8">

亲切的问候

【问题讨论】:

  • 文件是用utf8保存的吗?当您使用文本编辑器打开文件时它是否有效?
  • @RolandStarke - 如果我在记事本++ 中打开 csv,一切正常
  • @RolandStarke - 不,它没有,我将它转换为 UTF-8 现在它可以工作,但它不能解决我最初的问题:) 因为我有超过 1 个 csv 文件:) - 但我可以更改所有其他文件...

标签: javascript csv d3.js character-encoding


【解决方案1】:

在 D3.js 中,您可以通过多种方式配置您的 asynchronous request function。对于逗号分隔或分隔符分隔的变量 (CSV/DSV),您可以使用 d3.dsv 配置数据的分隔符和 Mime 类型。

因此,如果将所有文件转换为 UTF-8 不切实际,您可以通过首先配置加载功能(这也允许您更改分隔符):

var loadDsv = d3.dsv(",", "iso-8859-1");

然后您可以使用该编码加载文件:

loadDsv("xml/info.csv", function(data) {
    console.log(data);
})

如果您需要对异步加载进行更多控制,还可以使用d3.xhr,您可以在其中配置您希望的任何 Ajax 参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2012-12-21
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多