2016-07-11 4 views
3

BesteD3.js lesen CSV-Datei mit Sonderzeichen, é à ü è

ich eine kleine Frage habe. Wie lesen Sie in, csv-Dateien, die ohne Sonderzeichen enthalten Wörter, die wie l ve (élève) usw.

in diesem Moment verwende ich:?

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

+ meine html enthält den nächsten Satz in der Kopfzeile

<meta charset="utf-8"> 

mit freundlichen Grüßen

+0

ist die Datei in utf8 gespeichert? und funktioniert es, wenn Sie die Datei mit einem Texteditor öffnen? –

+0

@RolandStarke - Wenn ich die csv in Notepad ++ öffne alles ist okey – Dieter

+0

@RolandStarke - nein, tat es nicht, und ich konvertierte es in UTF-8 Und jetzt funktioniert es, aber es löst nicht mein erstes Problem :) weil ich habe mehr als 1 csv-datei :) - aber ich kann alle anderen dateien ändern ... – Dieter

Antwort

4

In D3.js können Sie Ihre asynchronous request function auf verschiedene Arten konfigurieren. Für kommagetrennte oder durch Trennzeichen getrennte Variablen (CSV/DSV) können Sie das Trennzeichen und den MIME-Typ Ihrer Daten mit d3.dsv konfigurieren.

Wenn es nicht praktikabel ist, all Ihre Dateien in UTF-8 zu konvertieren, können Sie sie als ISO-8859-1 (oder eine andere Kodierung) laden, indem Sie zuerst die Ladefunktion konfigurieren (die Sie auch ändern können) das Trennzeichen):

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

Dann können Sie Ihre Datei in dieser Codierung laden:

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

Wenn Sie mehr Kontrolle über Ihre Asynchron-Laden, dann können Sie auch d3.xhr verwenden, in denen Sie Ajax-Parameter konfigurieren du wünschst.