Problem mit Codierung einer CSV Datei zum import in eine MySQL DB



  • Hallo Zusammen,
    ich habe ein Problem mit der Codierung einer CSV Datei. Laut PSPad ist die Codierung der CSV Datei UTF-8. Wenn ich die Datei in meine MySQL DB importiere habe ich statt Umlaute nur wilde Zeichen. Speichere ich die CSV Datei in PSPad als Ansi und importiere dann, habe ich Umlaute.

    Jetzt habe ich die Funktion Utf8ToAnsi gefunden und wollte mir damit den Weg über PSPad sparen. Leider funktioniert das nicht. Wenn ich die Funktion einsetze habe leider trotzdem keine Umlaute.

    Importieren tue ich so

    ifstream ifs(ImportDatei.c_str()); // Open File
    
    // Alle Zeichen aus Datei lesen
    while (ifs.get(Buffer))
    {
      // Wenn Zeilenumbruch, Zeile abschließen und ausgeben
      if (Buffer == '\n')
      {
        daten_auslesen(line, DateiName, Statistik);
        line = ""; // Zeile leeren
        zeile++; // Zeilenanzahl erhöhen
      }
    
      // Wenn kein Zeilenumbruch, Zeichen an Zeile anhängen
      else
      {
        line += Buffer;
      }
    }
    
    // Wenn letzte Zeile vorhanden, diese ebenfalls ausgeben und berechnen
    if (line != "")
    {
      line = "";
      zeile++;
    }
    

    Anweden tue ich die Funktion so:

    void daten_auslesen(AnsiString line, String DateiName, int *Statistik)
    {
    Utf8ToAnsi(line);
    

    Kann mir jemand weiterhelfen? Mache ich was falsch? Kann ich irgendwie festestellen was für ein Unicode meine Variable hat?

    Danke im voraus.



  • Du wendest auf jeden Fall Utf8ToAnsi falsch an, weil du dessen Rückgabe gar nicht auswertest.


Anmelden zum Antworten