In einem Datenfeld ist es aber korrekt Codiert?
Falls ja würde ich die Daten nach Zeilen/Spalten auftrennen und dann dort versuchen die Codierung zu erkennen.
Ich denke, dass es in einem Feld nur eine Codierung gibt.
Da aber das Semikolon Teil der Codierung ist, ist das Trennen der Felder etwas aufwändiger.
Am besten wäre es mal in der Datenquelle zu prüfen was drinnensteht und damit meine ich nicht die
CSV Datei sondern wo wie herkommt. Du kannst das mal jetzt so patchen wie angeführt. Aber bitte lass den Datenunsinn beheben.
Ja, das wäre natürlich der logische Ansatz. Aber ich stehe nicht das erste mal vor solchen Situationen.
Diese Kämpfe haben nur leider die höchste Misserfolgsbilanz...
* Datei als
ANSI laden
* Schauen, ob das Feld (jeder Wert einzeln und nicht für ganze Zeilen/Datei) "valides" UTF-8 enthält
* wenn ja, dann das UTF-8 dekodieren, nach
Unicode
* wenn nein, dann von
ANSI (definierte CodePage) nach
Unicode
** überleg dir hier, was dein Standard-Encoding ist ... z.B. CodePage 1252 (Latin 1 / ISO 8859-1), CodePage 1250 (Latin 2 / ISO 8859-2) oder CodePage
weißichgradnicht (Latin-9 / ISO/IEC 8859-15)
* und zum Schluß noch ein
HTML-Encode drüber jagen
und ich würde den verhauen, der so eine
CSV generieren lässt und keine passende Dokumentation/Spezifikation liefert ... aber alleine schon für so einen Mischmasch gehört er gerädert.
Das Letzte wäre sicher sinnvoll...
Beim Code scheitert es momentan schon am Prüfen des "validen" UTF-8.
Da ich das bis morgen lösen muss, habe ich das nun doch schnell mit StringReplace realisiert.
Vielen Danke für die Lösungsansätze.
Frank