Hallo!
Ich lade aus einem JSON-File Strings und Variablenwerte. Das funktioniert an sich auch problemlos, außer der Anzeige von Umlauten.
Ich habe bereits geprüft, ob es an dem Font liegt. Das ist nicht der Fall. Auch per "Show_Message"-Ausgabe erhalte ich seltsame asiatische Schriftzeichen anstelle meines gewünschten Umlauts.
Ist das ein Problem, das der Game Maker bereits beim hereinladen von Strings per json_decode macht?
Manuelles Einfügen von Umlauten funktioniert, es MUSS also bei dem Zwischenschritt auslesen-hereinladen geschehen.
Im grunde lese ich mein JSON-File so ein:
Alles anzeigen
Das JSON-File wird an sich korrekt gelesen, hierbei entsteht kein Fehler, es bezieht sich alles rein auf die Umlaute.
Vielen Dank im Voraus
freundliche Grüße
Mischaal
LÖSUNG:
Beim Speichern des JSON-Files muss UTF-8 eingestellt werden
Ich lade aus einem JSON-File Strings und Variablenwerte. Das funktioniert an sich auch problemlos, außer der Anzeige von Umlauten.
Ich habe bereits geprüft, ob es an dem Font liegt. Das ist nicht der Fall. Auch per "Show_Message"-Ausgabe erhalte ich seltsame asiatische Schriftzeichen anstelle meines gewünschten Umlauts.
Ist das ein Problem, das der Game Maker bereits beim hereinladen von Strings per json_decode macht?
Manuelles Einfügen von Umlauten funktioniert, es MUSS also bei dem Zwischenschritt auslesen-hereinladen geschehen.
Im grunde lese ich mein JSON-File so ein:
GML-Quellcode
- while(!file_text_eof(file))
- {
- counter += 1;
- str1 = "READING JSON FILE LINE NUMBER " + string(counter);
- show_debug_message(str1);
- jData += file_text_read_string(file);
- file_text_readln(file);
- show_debug_message(jData);
- }
- show_debug_message("READING JSON FILE WAS SUCCESSFUL");
- var resultMap = json_decode(jData);
- //show_debug_message("JDATA CONTENT: " + string(resultMap));
- show_debug_message("JSON_DECODE START");
- //var list = ds_list_create();
- var list = ds_map_find_value(resultMap, "mission");
- show_debug_message("DS MAP INITIALIZED");
- var size = ds_list_size(list);
- show_debug_message("DS LIST SIZE = " + string(size));
- var file = file_text_open_read("Mission_1.json");
- var jData = "";
- var counter = 0;
- list = ds_map_find_value(resultMap, "missionText");
- map = ds_list_find_value(list, n);
- s = ds_list_size(list);
- for(var l = 0; l < s; l += 1)
- {
- show_message(ds_list_find_value(list, l));
- global.PLAYER_OBJECT.missionText = ds_list_find_value(list, l);
- }
Das JSON-File wird an sich korrekt gelesen, hierbei entsteht kein Fehler, es bezieht sich alles rein auf die Umlaute.
Vielen Dank im Voraus
freundliche Grüße
Mischaal
LÖSUNG:
Beim Speichern des JSON-Files muss UTF-8 eingestellt werden
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mischaal ()