GM 8.1 Umlaute von einem Textfile lesen und anzeigen?

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • GM 8.1 Umlaute von einem Textfile lesen und anzeigen?

    Hallo Experten.

    Habe mir gedacht GM8.1 ist noch besser als GM8.0, also habe ich auf GM8.1 aufgerüstet.
    Habe meine GM8 Programme mit GM8.1 gespeichert und nun Probleme mit draw_text von Texten die von einem txt-file gelesen werden.

    Alle Umlaute werden nur mehr als ? dargestellt!!!!

    Wenn ich den Text mit Umlauten direkt in das Programm schreibe, wird alles korrekt dargestellt.

    Vielleicht hat jemand von euch schon mal mit GM8.1 versucht, Texte von einem txt.file zu drawen und kann mir schreiben was ich machen soll.

    MfG. Hubsl
  • Geh zu dem Font den du benutzst (wenn du nicht schon einen hast, erstell einen und verwende den) und dann click unten bei character-range mal auf "all" und schau obs dann geht. Wenn nicht, könnte es sein dass dein Computer nicht default dieses Zeichensystem benutzt (sehr unwahrscheinlich wenn das zuvor noch funktioniert hat und du nicht nen PC aus nem anderen Land benutztst... In dem Fall, probier unten unter Character Set die verschiedenen sets durch, das muss auf jedenfall gehen.

    EDIT: Hab grad zum ersten mal versucht Umlaute zu drawen (.__. ...das kommt davon wenn man nur in English programmiert..) und festgestellt dass mit dem default font, Umlaute überhaupt nicht dargestellt werden. Mit dem gesamten Zeichensatz funzt es aber problemlos. Was mich grad wundert ist allerdings wieso bei dir Fragezeichen dargestellt werden.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Natürlich habe ich einen Font mit all (255) gemacht.
    Hier mein Skript:

    if file_exists('text1.txt')
    {
    f = file_text_open_read ('text1.txt');
    text = file_text_read_string(f);
    draw_text(x,y,text);
    file_text_close(f);
    }

    Als Text steht im file "Möchte Umlaute drawen!"
    angezeigt wird aber "M?chte Umlaute drawen!"
  • Am Font liegt es möglicherweise nicht.
    Habe alle Varianten mit verschiedenen Schriften durchprobiert.
    Habe das Script neu geschrieben:


    draw_text(x+0,y+50,'Möchte Umlaute drawen!');

    if file_exists('text1.txt')
    {
    f = file_text_open_read ('text1.txt');
    text = file_text_read_string(f);
    draw_text(x,y,text);
    file_text_close(f);
    }

    Bei der ersten Scriptzeile wird der Text mit Umlaut dargestellt, jedoch der Text vom text1.txt hat anstatt des Ö ei ?
  • Also das ist merkwürdig... passiert das selbe auch wenn du folgendes schreibst?

    GML-Quellcode

    1. draw_text(x,y, "Möchte Umlaute drawen!");

    EDIT: Mach doch nicht so überraschend einen Doppelpost...

    EDIT2:
    Okey, also das ist mir noch nicht untergekommen... Womit hast du die txt-Datei erstellt? Normalem notepad?

    EDIT3: (sorry wegen den vielen Edits)
    Mach mal folgendes:
    Schreib in die TXT Datei nichts außer dem Umlaut und dann schreib im Skript:

    GML-Quellcode

    1. show_message(ord(string_char_at(text,1)));

    Und nenn mir die Nummer die aufpoppen sollte.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

  • Offenbar nimmt der GM nur ANSI und UTF-8.
    Mit UTF-8 hat er bei mir zwar die Umlaute richtig angezeigt, aber ein Fragezeichen am Anfang des Textes eingefügt. ?(

    Aber UTF-8 scheint mir momentan die bessere Wahl.
  • Alles probiert, nur mit UTF8 habe ich zwei Texte stehen und mit Unicode Big Endian kommt ?? und danach der richtige Text.

    Scheint ein größeres Problem mit dem GM8.1 zu sein, denn mit dem GM8 funktioniert es mit dem ANSI Code problemlos.

    werde weiter alles versuchen um draufzukommen, was die Ursache ist.
  • ALLES KLAR! :D :thumbsup:

    Ich muss den Text lediglich ab der zweiten Zeile des Texfiles platzieren und von dort auslesen, dann passt alles mit UTF-8 Format.

    Hier ein Beispiel:


    xx
    Möchte Umlaute drawen!



    f = file_text_open_read ('text1.txt');
    file_text_readln(f);
    text = file_text_read_string(f);
    draw_text(x,y,text);
    file_text_close(f);
    Danke für die Anregungen :thumbup:

    MfG Hubsl

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hubsl ()

  • Mich würde es allerdings auch interessieren, obs dafür eine normale Lösung gibt, mir scheint das eher ein Bug im GM zu sein. Habe vor kurzem eine Anwendung von 8 nach 8.1 portiert und nun tritt das besagte Problem bei Textdateien auf. Da ich allerdings nicht die Wahl habe, die Kodierung der Dateien zu ändern, bzw die Textdateien unangetastet zu bleiben haben (bzw ich überhaupt unsaubere Löungen hasse) wär mir eine Hilfe ganz nett.

    © 2008 by Teamgrill Productions
  • Dazu ist noch folgendes zu vermelden:


    Wenn man ein GM8 Programm nach GM 8.1 portiert, sind ALLE Textstellen mit Umlauten als Fragezeichen dargestellt, sogar die Texte bei den Scripten, welche hinter // stehen haben statt der Umlaute ein rechteckiges Zeichen.

    Ich wäre auch froh, wenn ich nicht hunderte Textfiles öffnen, und als UTF-8 speichern müsste, außerdem habe ich in vielen Textfiles die erste Zeile verwendet, was einen erheblichen Programmieraufwand bedeuten würde, alle um eine Zeile zu verschieben.

    In diesem Sinne hoffe ich auch, dass es eine vernünftige Lösung des Problems gibt.
  • Also ich hab grad eine Testreihe durchgeführt und rausgefunden dass, wenn man die Datei, mit dem was Notepad++ als "UTF-8 ohne BOM", bezeichnet, kodiert, die Datei korekt eingelesen wird und das ohne "?" (was bei UTF-8 auftritt) am Anfang und mit allen Umlauten.
    Falls dies was hilft...

    Auf jedenfall sollten wir einen Bugreport schreiben.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    Also ich hab grad eine Testreihe durchgeführt und rausgefunden dass, wenn man die Datei, mit dem was Notepad++ als "UTF-8 ohne BOM", bezeichnet, kodiert, die Datei korekt eingelesen wird und das ohne "?" (was bei UTF-8 auftritt) am Anfang und mit allen Umlauten.
    Falls dies was hilft...

    Danke für deinen Beitrag. Finde, dies ist eine gute Möglichkeit. Geht auch bei mehreren Textfiles relativ rasch.
    Habe mit dem Programm "Notepad++" die txt's auf "UTF-8 ohne BOM" kodiert und gespeichert.

    MfG. Hubsl
  • Benutzer online 1

    1 Besucher