Ich arbeite an einem einfachen Windows-Dienst, der CSV-Daten liest und die Daten auf MS-SQL-Server überträgt. Csv enthält Nicht-Unicode-Zeichen (Ççşşııööüüğ). ODBC überträgt das richtige Endocing nicht. Ich versuche die Kopie Daten ohne ODBC, mit Text lesen, Codierung nicht richtig. Aber die Textcodierung ist richtig, wenn ich den Dienst debugge. Csv las Code:Windows-Dienst nicht-Unicode-Codierung Problem
string[] csvLines = File.ReadAllLines(csvFile, Encoding.GetEncoding(new System.Globalization.CultureInfo("tr-TR").TextInfo.ANSICodePage));
Dienst als Localsystem läuft und ich kann nicht "System Locale" für Nicht-Unicode-Programme ändern, ich habe Systemgebietsschema zu verwenden, wie United States (English)
Ich habe auch versucht "CultureInfo.GetCulture (" tr-TR ")" aber es funktioniert nicht :(Haben Sie noch eine andere Idee? – Murat
Ein weiterer Gedanke: wenn die Datei auch mit UTF-8 kodiert sein könnte, Verwenden Sie StreamReader.ReadLine und verwenden Sie die StreamReader-Konstruktorversion mit dem Parameter detectEncodingFromByteOrderMarks, der auf true festgelegt ist. – devstuff
Dateicodierung ist ANSI. detectEncodingFromByteOrderMarks funktioniert nicht – Murat