2013-09-05 8 views
7

Ich lese in einer CSV-Datei und alles funktioniert einwandfrei. Alle Felder werden an die richtigen Stellen verschoben, es wird jedoch in konvertiert.FileHelpers - Wie liest man Zeichen ein?

var engine = new FileHelperEngine(typeof(T)); 
return engine.ReadStream(new StreamReader(stream)) as T[]; 

Irgendwelche Ideen, wie dies verhindert werden kann?

EDIT:

Mit Hilfe spender ich diese an die Arbeit:

var engine = new FileHelperEngine(typeof(T), Encoding.UTF8); 
return engine.ReadStream(new StreamReader(stream, Encoding.UTF8)) as T[]; 

ich dafür zu arbeiten, um die Codierung in beiden Orten, um hatte. Sonst sah ich seltsame Ergebnisse.

+2

Welche Codierung verwenden Sie? –

+3

Lesen Sie "** [Das absolute Minimum, das jeder Softwareentwickler absolut, positiv über Unicode und Zeichensätze wissen muss (keine Ausreden!)] (Http://www.joelonsoftware.com/articles/Unicode.html) **" von Joel Spolsky. –

+0

Verwenden Sie beim Lesen die UTF8-Codierung. – user65439

Antwort

6

Legen Sie die richtige Codierung für Ihren StreamReader fest.

http://msdn.microsoft.com/en-us/library/ms143456.aspx

+0

Ich habe die Encoding auf der FileHelpers Engine geändert, ich werde versuchen, es jetzt im Stream zu ändern. –

+3

Es ist eine verdächtig benannte Methode namens 'ReadStream', die den Stream tatsächlich nicht liest. – spender

+0

das hat für mich funktioniert. Danke vielmals!! –

Verwandte Themen