Zeichensatz Problem : Notepad funtz und andere nicht



  • Hi,

    ich habe eine Datei bekommen, die vermutlich auf einem englischen Rechner erzeugt wurde. Diese Datei enthält deutsche Sonderzeichen wie ÖÄüß und sowas.

    Wenn ich die Datei nun mittels notepad öffne, wird das richtige angezeigt:

    "Hargens, Jürgen"

    Wenn ich diese Datei nun mit einem anderen Editor öffne, z.b. proton wird was falsches angezeigt:

    "Hargens, Jürgen"

    Wenn ich die Datei mit einem C++ Builder Programm anzeige, wird auch was falsches angezeigt. Aber Notepad kann es richtig!!!

    Wenn ich von Hand selbst auf meinem PC eine Datei mit deutschen Sonderzeichen anlegen, kann ich alles so öffnen wie ich will und alles wird richtig dargestellt.

    Wieso aber nicht mit meiner anderen Datei? Wieso zeigt er nicht das an was er soll, wieso spielt nur notepad mit. Kann ich das irgendwie konvertieren?

    Stefan



  • DAs liegt vermutlich am Amerikanischen Zeichensatz (ASCII oder ANSI oder was auch immer), der anstelle von Unicode verwendet wurde. UltraEdit stellt viele Funktionen zur Konvertierung solcher Daten bereit, aber da du Proton benutzt, schliesse ich daraus, dass du keinen UltraEdit hast. Eigentlich sollte es nicht allzu schwer sein, sich selbst ein kleines Tool zu schreiben, welches die Dateien korrigiert...



  • Hi,

    ich installiere mir grad ultraedit um es zu testen.

    ansonsten muss ich mir wirklich nen programm schreiben, damit habe ich kein problem, dass mach ich sogar gerne, nur weiß ich nicht wo ich ne liste finde, welches Zeichen ich wieder in welches Zeichen wandeln muss.

    Stefan



  • Nein, Windows Notepad beherrscht in neueren Versionen UTF8 und erkennt dieses auch korrekt am BOM. Deswegen stellt Notepad die Datei immer korrekt da.

    Die anderen Anwendungen von dir, z.B. Proton, sind nicht in der Lage UTF8 zu erkennen und darzustellen. Deswegen kommt bei diesen Anwendungen Zeichenmüll raus.
    Das sagt übrigens einiges über diese Anwendungen aus und ist u.A. der Grund, weswegen ich Proton und Phase 5² in die digitale Mülltonne getreten und durch einen vernünftigen und modernen Editor wie Scite ersetzt habe.

    // edit:
    Ach ja, und wenn du selbst eine Datei erstellst, so speicherst du sie vermutlich im ANSI-Format (Standard-Einstellung bei Notepad). Und diesen Zeichensatz kapiert sogar Proton.



  • Hi,

    und ich habe nun so eine datei die ich mit meinem c++ builder programm einlesen muss. in diesem wird leider einiges an müll gelesen. kann ich die dateik konvertieren, oder sollte ich mir eine funktion schreiben die alles ersetzt, wie in php z.b.:

    utf8_decode

    utf8_decode -- Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1.

    Dann wo gibst dann eine liste was ich durch was ersetzen muss?

    Mit ultraedit zu konvertieren ging nicht, kann zwar ländercodes auswählen aber nix dann abspeichern, oder mache ich was falsch?

    Stefan



  • Stefan Mans schrieb:

    Mit ultraedit zu konvertieren ging nicht, kann zwar ländercodes auswählen aber nix dann abspeichern, oder mache ich was falsch?

    Warum einfach, wenn's auch kompliziert geht *g*
    Öffne die Datei einfach mit Notepad und geh dann auf "Datei / Speichern unter", dort stellst einfach im Dialog ganz unten Codierung von "UTF-8" auf "ANSI" und speicherst die Datei - fertig ist die Konvertierung 😉



  • @surfan

    in der test datei hat dein tipp geklappt. problem ist das ich um die 200.000 solcher dateien habe die ich einlesen muss. da müsste es doch irgendwie eine möglichkeit geben die richtig zu formatieren? im notfall zuerst öffnen und spezial abspeichern.

    Eine andere Möglichkeit wäre die Hauptdatei von ca. 450 MB richtig abzuspeichern, nur damit wird notepad nicht mitspielen und bei ultraedit kann ich nicht einfach unter ansi speichern.

    Kurz zur info. Ich habe ein 450MB file, welches ich in ca. 200.000 Files teile, damit meine Anwendung die weiterverarbeiten kann.
    Wenn die Hauptdatei den richtigen Zeichensatz bekommt, sollte es gehen, ansonsten muss ich an die kleinen Dateien ran.

    Was sollte ich wie am besten zun?

    Stefan


Anmelden zum Antworten