SWISS QR Rechnung [gelöst]
Moderator: Moderatoren
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
SWISS QR Rechnung [gelöst]
Hallo
Ich hänge gerade bei der Validierung einer QR Rechnung mit Umlaut ö .
Im Portal
https://validation.iso-payments.ch/gp/q ... validation
kann ich eine Textdatei mit dem QR Code positiv validieren.
Der QR Code als Graphik wird aber abgelehnt.
Grund ist die Umsetzung des ö nach UTF-8: dabei ansteht ein C3 B6. B6 wird aber als Zeilenumbruch im QR Code interpretiert.
Das kann doch nicht sein, dass die da einen Designfehler haben. Hat jemand schon mal ein ö im QR Code gedruckt?
Oder ist die einzige Lösung ö nach oe zu wandeln.
Ich hänge gerade bei der Validierung einer QR Rechnung mit Umlaut ö .
Im Portal
https://validation.iso-payments.ch/gp/q ... validation
kann ich eine Textdatei mit dem QR Code positiv validieren.
Der QR Code als Graphik wird aber abgelehnt.
Grund ist die Umsetzung des ö nach UTF-8: dabei ansteht ein C3 B6. B6 wird aber als Zeilenumbruch im QR Code interpretiert.
Das kann doch nicht sein, dass die da einen Designfehler haben. Hat jemand schon mal ein ö im QR Code gedruckt?
Oder ist die einzige Lösung ö nach oe zu wandeln.
Zuletzt geändert von Marcus Herz am Di, 31. Mai 2022 13:48, insgesamt 1-mal geändert.
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
Combit empfiehlt, QR-Codes Byte für Byte zu übergeben, um Decodierungsprobleme zu vermeiden. QR-Codes kennen ja selbst überhaupt keinen Zeichensatz.
https://forum.combit.net/t/utf-8-codier ... ellen/5200
https://forum.combit.net/t/utf-8-codier ... ellen/5200
Herzlich,
Tom
Tom
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
Ich kenn den Artikel, dadurch ensteht ja das Problem bei der Validierung.
Ich weiß eben nicht, ist der Fehler in der Validierung?
Ich weiß eben nicht, ist der Fehler in der Validierung?
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
@Tom:
By the way: Wie implementierst du Designer Funktionen in Xbase?
By the way: Wie implementierst du Designer Funktionen in Xbase?
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Re: SWISS QR Rechnung
Hallo Marcus
Ich habe es tatsächlich so gelöst, dass ich ein "ö" jeweils in "oe" umwandle. Alles andere hat (zumindest mit L&L) nicht funktioniert.
Gruss Marco
Ich habe es tatsächlich so gelöst, dass ich ein "ö" jeweils in "oe" umwandle. Alles andere hat (zumindest mit L&L) nicht funktioniert.
Gruss Marco
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
Hallo, Marcus.
Überhaupt nicht. Bisher gab es daran noch keinen Bedarf. Machst Du das? Zu welchem Zweck?Wie implementierst du Designer Funktionen in Xbase?
Herzlich,
Tom
Tom
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
Designerfunktionen, geht mit Xbase nicht. Deswegen überlegt man sich das nicht, wo man das brauchen könnte. Fällt mir auch spontan nichts ein
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
Ich versuche, das möglichst im Vorfeld abzuhaken, also schon bei der Datenübergabe. Je weniger Logik in den Formularen steckt, umso besser ist das aus unserer Sicht.
Herzlich,
Tom
Tom
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
stimm ich dir zu
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: SWISS QR Rechnung
Problem gelöst. Man darf nicht die Char2UTF8() Funktion verwwenden, sondern muss die UTF8 Zeichen als Dezimalwert übergeben.
Diese Funktion macht das:
Den Sttring für den QR Code vor Übergabe an LL so umwandeln
cQrCode := Char2Utf8Dez(cQrCode)
Dann wird ein korrekt lesbarer QR erzeugt, der auch validierbar ist. Umlaute müssen nicht mehr ersetzt werden!
Diese Funktion macht das:
Den Sttring für den QR Code vor Übergabe an LL so umwandeln
cQrCode := Char2Utf8Dez(cQrCode)
Dann wird ein korrekt lesbarer QR erzeugt, der auch validierbar ist. Umlaute müssen nicht mehr ersetzt werden!
Code: Alles auswählen
//=========================================
FUNC char2Utf8Dez(cQrCode)
LOCAL i, iCnt, k, kCnt
LOCAL cRet, cTmp
cRet := ""
iCnt := len(cQrCode)
for i := 1 to iCnt
cTmp := char2Utf8(cQrCode[i])
kCnt := len(cTmp)
if kCnt == 1
cRet += cTmp
else
for k := 1 to kCnt
cRet += "~d"+ strzero(asc(cTmp[k]), 3)
next
endif
next
RETURN cRet
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast