dgr243 Geschrieben 4. August 2004 Teilen Geschrieben 4. August 2004 Moin zusammen, mal wieder ein Perl Problem.... Ich bekomm eine CSV Datei geliefert, die unter Excel erstellt wurde. Dummerweise bekomm ich beim einlesen der Datei die Umlaute nicht sauber rüber. Aus ü wird zum Beispiel ³ ... Wie kann ich das verhindern? Gibt es ne Möglichkeit gleich beim einlesen der Datei einen Umlaut auch als Umlaut zu lesen? use POSIX; use locale; setlocale(LC_CTYPE, "de_DE.ISO-8859-1"); hat im übrigen keinen Effekt gehabt ... Oder muss ich bevor ich mit den Daten arbeite die ³ durch ü ersetzen? Wenn letzteres wie würde das dann am besten gemacht werden? Sorry bin relativer Perl Noob ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dgr243 Geschrieben 4. August 2004 Autor Teilen Geschrieben 4. August 2004 Ah na klar geht ja mit Reg Exp und dem Substitutionsoperator: $eintrag[0]=~ s/³/ü/gs; Im Dos Fenster wird mir der Name Günther nun auch richtig angezeigt als Günther. Vorher stand da G³nther ... Aber scheinbar gibt es nun nen Problem mit dem ODBC Treiber... ich poste hier mal die Ausgabe der Ablaufverfolgung: odbc 5a4-534 ENTER SQLPrepare HSTMT 023526C0 UCHAR * 0x01A720A0 [ 72] "select ID from Mitarbeiter where Name = 'Cordes' AND Vormane = 'G\ffnther'" SDWORD 72 Man sieht, dass aus dem "ü" im Perl String und der Dos Box ein "\ff" wird.... Wieso? Und wer hat da eine Idee wie sich das ändern lässt? Denn nun bin ich wirklich ratlos ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 4. August 2004 Teilen Geschrieben 4. August 2004 Probier mal an Stelle von iso-8859-1 mal windows-1252 oder us-ascii. Sollen denn die Daten echt auf der Konsole ausgegeben werden? Ich hatte damit bisher nur Ärger (mit C,C++, PHP und Java). Ist eben Windows. Deine Daten sind richtig, nur die Ausgabe sieht etwas komisch aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dgr243 Geschrieben 4. August 2004 Autor Teilen Geschrieben 4. August 2004 Die Ausgabe auf der Konsole war nur als Test gedacht um zu sehen, wie das Statement vor der Übergabe an den ODBC Treiber ausschaut ... Die anderen Locale variablen probier ich mal durch. Hoffe das klappt! Ansonsten jemand ne Idee? Kann ich vielleicht einfach den Ascii Code für ö,ä,ü an den ODBC Treiber übergeben? Wenn ja wie und welcher Ascii Code steht für welchen Umlaut? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dgr243 Geschrieben 31. August 2004 Autor Teilen Geschrieben 31. August 2004 Windows-1252 als Locale Variable hats gebracht! Hat bisserl gedauert (hatte BS zwischendurch) aber nu läufts! *freu* Vielen Dank nochmal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.