Laden...

Zeichenkodierung von Textdatei erkennen

Erstellt von schillerdeluxe vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.274 Views
S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren
Zeichenkodierung von Textdatei erkennen

Hallo,
ich habe ein großes Problem:

Ich habe bei einer Anwendung mehrere Textdateien, welche ich als Ressource hinzugefügt habe. Wenn ich nun mein Programm ausführe, dann werden diese Textdateien als temporäre Dateien ins Temp verzeichnis geschrieben. Später werden dieser wiederum von dort eingelesen und bei einem Bulk Insert SQL Befehl eingelesen.

Dabei kommen von 3 meiner 20 Textdateien eine Fehlermeldung und ich befürchte, dass es sich um einen Codierungsfehler handelt.

Jetzt würde ich eben gerne wissen, wie ich mit C# herausfinden kann, welche Zeichenkodierung meine Textdatei hat?

Kann mir da jemand weiterhelfen?

danke, mfg
Schillerdeluxe!

3.971 Beiträge seit 2006
vor 15 Jahren

Automatisch kannst du sowas nicht erkennen, wenn kein BOM in der Textdatei enthalten ist. Das beste ist, alle deine Programme verwenden UTF8 mit BOM, anschließend wird das Encoding beim StreamReader (detectEncoding=true) automatisch erkannt.

Da ich selbst aber auch mal vor dem Problem stand, hab ich ein kleines Snippet geschrieben, um das Erkennen zu vereinfachen. Eventuell kannst du das bei dir gebrauchen.

EncodingHelper, Encoding zur Laufzeit auslesen

Es sei noch erwähnt, dass diese Methode nur ein herantasten an das entsprechende Encoding ist (durch Umlaute die geprüft werden). Eine Garantie für das richtige Encoding gibts aber dennoch nicht.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...