D3.js读取带有特殊字符的csv文件,éàüè

时间:2016-07-11 10:14:19

标签: javascript csv d3.js character-encoding

最佳

我有一个小问题。 如何阅读包含特殊字符的csv文件,而不包含 ?l?ve (élève)等字样。

此刻我正在使用:

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

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

<meta charset="utf-8">

亲切的问候

1 个答案:

答案 0 :(得分:4)

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

因此,如果将所有文件转换为UTF-8是不切实际的,您可以通过首先配置加载功能(也允许您更改)来加载它们作为ISO-8859-1(或其他一些编码)定界符):

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

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

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

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