Skip to content

Conversation

@TheLastProject
Copy link
Member

This fixes old pkpass files imported before Catima 2.41.0 to be forced to "Automatic", which may guess UTF-8. New pkpass files will have the encoding read from the file and newly scanned barcodes will use Automatic.

This does have the unfortunate side effect of everyone who already scanned a QR code with UTF-8 data since Catima 2.41.0 to have it forced to ISO-8859-1, but it will fix Deutschlandtickets imported before 2.41.0 which is a rather large amount of the Catima userbase.

@TheLastProject TheLastProject force-pushed the fix/enforce_iso_on_2.41.3_upgrade branch 4 times, most recently from 1b9735a to 024f685 Compare January 4, 2026 20:20
This fixes old pkpass files imported before Catima 2.41.0 to be forced
to "Automatic", which may guess UTF-8. New pkpass files will have the
encoding read from the file and newly scanned barcodes will use
Automatic.

This does have the unfortunate side effect of everyone who already
scanned a QR code with UTF-8 data since Catima 2.41.0 to have it forced
to ISO-8859-1, but it will fix Deutschlandtickets imported before 2.41.0
which is a rather large amount of the Catima userbase.
This will not catch one edge case: use exporting a backup in Catima
2.41.0 - 2.41.2, then uninstall Catima, then installing Catima 2.41.3
and then importing the database. But this seems rare enough to be
acceptable.
@TheLastProject TheLastProject force-pushed the fix/enforce_iso_on_2.41.3_upgrade branch from 024f685 to 90e6dd8 Compare January 4, 2026 20:20
@TheLastProject TheLastProject merged commit 80767e7 into main Jan 4, 2026
3 checks passed
@TheLastProject TheLastProject deleted the fix/enforce_iso_on_2.41.3_upgrade branch January 4, 2026 20:38

// On upgrade to 2.41.3, force all existing "Automatic" cards to ISO-8859-1.
// UTF-8 support was only added in 2.42.0, before that, all barcodes were saved without
// any encoding info. As many scanners deal badly with ECI info, automatically guessing
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand that correctly, to further prevent such problems and be better to debug/fix it later, maybe an idea would be to store the version of Catima that was used for scanning/importing a particular code/file? So you could fix only the broken ones, then?
Or some internal "scan/import logic" version counter or so?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a bad suggestion. I'll think of this later

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants