Hi everybody,
wahrscheinlich wieder ein typisches Anfängerproblem:
Mein Progrämmchen (programmiert mit PureBasic 6.00 LTS Windows - x64) wählt weine Datei per Filerequester aus und speichert Dateiname mit Pfad in einem Textgadget. Dann werden alle Textgadgets gespeichert (Createfile). Beim Neustart des Programms werden die gespeicherten Daten gelesen (readfile) und in die Textgadgets zurückgeschrieben.
Leider wird der Dateiname "Schlüsselrückgabe.html" dann als "Schlüsselrückgabe.html" im Textgadget gezeigt.
Was mache ich da falsch?
Gelöst: Umlaute treiben mich in die Verzweiflung ...
-
- Beiträge: 105
- Registriert: 06.03.2019 21:52
Gelöst: Umlaute treiben mich in die Verzweiflung ...
Zuletzt geändert von bin_neu_hier am 28.07.2022 13:47, insgesamt 1-mal geändert.
Bin mit 21 erstmals mit Computern in Kontakt gekommen und konnte mich daher in meiner Jugend ganz auf den Alkohol konzentrieren. Bin nun seit fast 40 Jahren programmiertechnisch konstant auf Anfänger-Level, konnte jedoch beim Thema Alkohol eine gewisse Virtuosität erreichen.
Irgendwas muss man ja gut können.
Irgendwas muss man ja gut können.
Re: Umlaute treiben mich in die Verzweiflung ...
Hi!
Details folgen evtl. später.
Kurze Anmerkung:
Hast du ein Codebeispiel, wie du die Gadgets ausliest und in eine Textdatei speicherst?
Öffnest du zufällig die Textdatei mit einem Texteditor der nicht auf UTF8(oder ähnlich) eingestellt ist und speicherst diese Datei damit zufällig im falschen Format ab?
Lösung: Nutze konsequent UTF-8Wenn ein Dokument als Unicode (UTF-8) abgespeichert wurde, aber als ISO 8859-1 interpretiert wird, geschieht folgendes:
Erwartete Ausgabe: ä ö ü
Wirkliche Ausgabe: ä ö ü
Das ä wurde binär gesehen als 11000011 10100100 gespeichert. Diese beiden Bytes gehören laut UTF-8 zusammen, werden in ISO 8859-1 allerdings auseinander genommen. Folglich wird aus 11000011 ein à und aus 10100100 ein ¤-Zeichen.
Details folgen evtl. später.
Kurze Anmerkung:
Hast du ein Codebeispiel, wie du die Gadgets ausliest und in eine Textdatei speicherst?
Öffnest du zufällig die Textdatei mit einem Texteditor der nicht auf UTF8(oder ähnlich) eingestellt ist und speicherst diese Datei damit zufällig im falschen Format ab?
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
-
- Beiträge: 105
- Registriert: 06.03.2019 21:52
Re: Gelöst: Umlaute treiben mich in die Verzweiflung ...
Hallo ccode_new,
jep, das war's! Habe den Hilfetext
falsch interpretiert - dachte, weils ja der Standard sei, müsse es nicht explizit angegeben sein. Aber denkste! Habs jetzt bei allen Readfiles und Createfiles und bei allen Readstrings und Writestrings explizit angegeben, funzt soweit.
Herzlichen Dank!
Das bringt mich aber nochmal zu meinem Post
"Purebasic und zippen - Probleme mit Umlauten gibts immer noch?" vom 16.06.2022 11:10
(wie verlinkt man eigentlich richtig auf einen anderen Post?)
Ist das auch ein UTF8-Problem und wenn ja, wie kann man bei AddPackFile... (da vermute ich das Problem) den Dateinamen als UTF8-String übergeben?
jep, das war's! Habe den Hilfetext
Code: Alles auswählen
#PB_UTF8 : alle Lese/Schreib-String-Operationen werden UTF-8 verwenden, wenn nicht anders angegeben (Standard).
Herzlichen Dank!
Das bringt mich aber nochmal zu meinem Post
"Purebasic und zippen - Probleme mit Umlauten gibts immer noch?" vom 16.06.2022 11:10
(wie verlinkt man eigentlich richtig auf einen anderen Post?)
Ist das auch ein UTF8-Problem und wenn ja, wie kann man bei AddPackFile... (da vermute ich das Problem) den Dateinamen als UTF8-String übergeben?
Bin mit 21 erstmals mit Computern in Kontakt gekommen und konnte mich daher in meiner Jugend ganz auf den Alkohol konzentrieren. Bin nun seit fast 40 Jahren programmiertechnisch konstant auf Anfänger-Level, konnte jedoch beim Thema Alkohol eine gewisse Virtuosität erreichen.
Irgendwas muss man ja gut können.
Irgendwas muss man ja gut können.
Re: Gelöst: Umlaute treiben mich in die Verzweiflung ...
Hmm!
Verlinken kannst du mit:
Du kannst auch im erweiterten Editormodus ganz oben auf das Kettensymbol (zwischen dem Bild und dem Tropfen) klicken.
Wenn du die Url so einfügst:kannst du auch einen benutzerdef. Linktext anzeigen lassen.
Außerdem gibt es den viel zu selten genutzen "Preview" Button neben dem "Submit" Knopf um eine Vorschau anzuzeigen.
Das Problem mit dem Zip-Gedöns werde ich mir heute Abend mal noch genauer betrachten.
Ich glaube nicht das es direkt an der String-Übergabe bei dem benannten PureBasic-Befehl liegt.
Welche Spracheinstellungen hast du unter Windows und verwendest du die aktuelle 7zip Version?
Verlinken kannst du mit:
Code: Alles auswählen
[url]Hier sollte die Url stehen.[/url]
Wenn du die Url so einfügst:
Code: Alles auswählen
[url=Hier steht die Url]Hier steht der Text zum Link[/url]
Außerdem gibt es den viel zu selten genutzen "Preview" Button neben dem "Submit" Knopf um eine Vorschau anzuzeigen.
Das Problem mit dem Zip-Gedöns werde ich mir heute Abend mal noch genauer betrachten.
Ich glaube nicht das es direkt an der String-Übergabe bei dem benannten PureBasic-Befehl liegt.
Welche Spracheinstellungen hast du unter Windows und verwendest du die aktuelle 7zip Version?
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Gelöst: Umlaute treiben mich in die Verzweiflung ...

Das ist ja lustig.
Also mit dem unter Windows per Standard installierten Packer/Entpacker werden komische Zeichen bei den Dateien mit Umlauten angezeigt.
Bei dem 7zip-Programmchen werden nur Punkte bei den Umlauten angezeigt.
Aber mit den PureBasic eigenen Packer-/Entpacker-Routinen kann man wenigstens die Dateinamen korrekt verwalten und anzeigen.
Also grundsätzlich kein Bug, aber trotzdem total mysteriös.
Ich habe mich mal etwas belesen und festgestellt das *.zip ein unglaublich furchtbares Format ist, wenn es um Zeichenkodierungen geht.
Das ganze Dilemma hängt auch noch irgendwie mit dem "Standard" -UTF8 zusammen.
Dabei liegt es wohl an der Überführung von Unicode zu Utf8.
Siehe: https://de.wikipedia.org/wiki/Normalisierung_(Unicode)
Tipp:
Verwende ein anderes Format (Plugin). Zum Beispiel (#PB_PackerPlugin_Lzma).
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat