Ich habe mich in den letzten zwei Tagen intensiv mit der Kodierung auseinander gesetzt. Es geht bei mir darum dass ich einen QR-Code mit UTF-8 codierten String erstellen muss.
Nun habe ich folgendes Problem, enthält mein QR-Code das Wort Zürich, welches in UTF-8 dann so Zürich aussieht, funktioniert alles. Der QR-Code wird korrekt erstellt und kann auch gelesen werden. Wenn ich nun aber ein ö wie z.B. in Kölliken in UTF-8 wandle ergibt das: Kölliken was ja auch korrekt wäre. Mein Problem ist nun, dass List&Label das ¶-Zeichen als neue Zeile erkannt und mir dann im Barcode eine neue Zeile macht.
Kann ich das irgendwie verhindern? Habe mal versucht in List&Label ein StrSubstr auszuführen und das Zeichen mit Chr$ zu ersetzten. Leider bringt das nichts, es passiert das selbe …
auf die Schnelle wg. des Umbruchszeichen… in LL kann man global ein anderes Zeichen dafür einstellen. und wirkt sich eben überall aus. Die Option heißt dafür LL_OPTION_RETREPRESENTATIONCODE. Hier der Auszug wieder aus dem Header-File dazu:
… #define LL_OPTION_RETREPRESENTATIONCODE (23 ) /* default: LL_CHAR_NEWLINE (182) */
…
Könnte man dann in .NET so aufrufen - natürlich dann mit dem gewünschten Zeichen:
LL.Core.LlSetOption(23 /* LL_OPTION_RETREPRESENTATIONCODE */, …);
Die Umlaute können mittels dessen ID (dezimal) wie folgt für den QR-Code String codiert werden.
Beispiel: im String wird “ü” durch “~d195~d188” erstetzt.
Die so Codierten Umlaute werden beim auslesen dann korrekt dargestellt.
Anmerkung: würde RegExSubst$() die Möglichkeit bieten, die Suchgruppen-Ergebnisse direkt z.B. mit Ord$() zur verarbeiten, könnte man die Ersetzung sogar fast vollständig automatisieren.
Ergänzend dazu: ab Version 28 wird es eine Designerfunktion UTF8Encode$ geben, die dies komfortabler ermöglicht. Ein Beispiel: Barcode(UTF8Encode$("ÄÖÜ"), "QRCode").