[GELÖST] QR-Code teilweise nicht lesbar - csv-Datei nach UTF8 konvertieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

[GELÖST] QR-Code teilweise nicht lesbar - csv-Datei nach UTF8 konvertieren

Beitrag von JamesByrnes » 05.09.2022 19:09:19

Hallo,

ich habe ein Bash-Script, das aus vorhandenen CSV-Dateien einen QR-Code von 46 mm Kantenlänge und Schweizer Logo erzeugt

Code: Alles auswählen

/usr/bin/qrencode --type=PNG --size=22 --dpi=600 -m 1 -o $TMP/${NAME}.$TYPE -8 -l M -r $INPUT
Soweit der Kerncode, es folgt noch die Skalierung, das Einfügen des Logos und die Positionierung auf einem DINA4-Briefpapier.

Hier ist eine solche csv-Datei:
092254912.csv

Code: Alles auswählen

SPC
0200
1
CH1230456000SA48965AC
S
Firma GmbH
Musterstrasse
21
9065
St. Anton
CH







3963.35
CHF
S
Master Füssli AG
Postfach

 8036
Zürich
CH
QRR
705888888445685990003

EPD
Es entsteht dann eine Datei 092254912.png, die den QR-Code enthält und von einem in UniBasic geschriebenen Programm mit den Rechnungsdaten bedruckt und als PDF verschickt wird.

Jetzt lässt sich der QR-Code zwar von normalen QR-Scannern gelesen werden, aber die Auswertung mittel Scannern bei den Banking-Apps scheitert. Ich habe das Problem jetzt soweit eingegrenzt, dass das Problem nur dann besteht, wenn Umlaute wie ä,ü,ö, ß in der CSV-Datei enthalten sind. Schreibe ich vor der Verarbeitung stattdessen ae, ue, oe und ss, dann funktioniert auch das Erfassen mit der Banking-App.
Ich vermute jetzt, dass das 40 Jahre alte UniBasic-Programm die Umlaute nicht deutlich darstellen kann.

Frage: Kann ich vor dem eigentlichen Initialisieren des QR-Codes die Zeichen in der jeweiligen csv-Datei nach UTF8 konvertierenß Oder seht Ihr andere Lösungen?

Vielen Dank

James Byrnes
Zuletzt geändert von JamesByrnes am 06.09.2022 08:43:28, insgesamt 1-mal geändert.

JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

Re: QR-Code teilweise nicht lesbar - csv-Datei nach UTF8 konvertieren

Beitrag von JamesByrnes » 05.09.2022 19:16:55

Das scheinen Dateien mit ISO-8859 zu sein:

Code: Alles auswählen

# file log/092254912.csv 
log/092254912.csv: ISO-8859 text
Allerdings eine Umcodierung klappt so nicht:

Code: Alles auswählen

# recode utf-8 log/092254912.csv
recode: log/092254912.csv fehlgeschlagen: Ungültige Eingabe bei Schritt »UTF-8..CHAR«

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: QR-Code teilweise nicht lesbar - csv-Datei nach UTF8 konvertieren

Beitrag von JTH » 05.09.2022 19:22:06

JamesByrnes hat geschrieben: ↑ zum Beitrag ↑
05.09.2022 19:09:19
aber die Auswertung mittel Scannern bei den Banking-Apps scheitert. Ich habe das Problem jetzt soweit eingegrenzt, dass das Problem nur dann besteht, wenn Umlaute wie ä,ü,ö, ß in der CSV-Datei enthalten sind. Schreibe ich vor der Verarbeitung stattdessen ae, ue, oe und ss, dann funktioniert auch das Erfassen mit der Banking-App.
Ich bin da jetzt kein Fachmann, aber aus der Erfahrung, was meine Bank online macht, wenn ich einen Umlaut in einer Überweisung eingebe (eben die Umwandlung nach ae usw.), und z.B. dieser Quelle (SEPA Verwendungszweck - SEPA Zeichensatz): Ich denk mal, es sind einfach keine Umlaute erlaubt. Die Codierung wäre damit quasi wurst, für die erlaubten Zeichen sind UTF-8 und ISO-8859-1 identisch.
Manchmal bekannt als Just (another) Terminal Hacker.

JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

Re: QR-Code teilweise nicht lesbar - csv-Datei nach UTF8 konvertieren

Beitrag von JamesByrnes » 05.09.2022 19:28:25

Also die Werte kommen alle aus einem Uralt-ERP mit csv-Dateien als Tabellen. Ich überlege bereits, ob ich mein Script nicht mit SED sämtliche Umlaute ersetzen lasse. Dann müsste es wieder funktionieren.
Jedenfalls vielen Dank für Deinen Hinweis.

JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

Re: QR-Code teilweise nicht lesbar - csv-Datei nach UTF8 konvertieren

Beitrag von JamesByrnes » 06.09.2022 08:43:05

Das würde das Problem lösen

Code: Alles auswählen

sed 's/ä/ae/g;s/Ä/Ae/g;s/Ö/Oe/g;s/ö/oe/g;s/Ü/Ue/g;s/ü/ue/g;s/ß/ss/g' -i test.csv 
wenn da nicht die unterschiedlichen Zeichencodes wären. Dazu mache ich diesen Thread viewtopic.php?t=185014 auf.

Grüße
James Byrnes

Antworten