#1085032 ID3v1 tags with non-latin chars are displayed incorrectly

Package:
qmmp
Source:
qmmp
Description:
feature-rich audio player with support of many formats
Submitter:
Ivan Sorokin
Date:
2025-05-16 06:06:01 UTC
Severity:
normal
#1085032#5
Date:
2024-10-13 13:31:06 UTC
From:
To:
ID3v1 tags use 1-byte encoding. While standard specifies it as ISO 8859-1,
in the real world most of players in the v1 era used Windows system 1-byte
ANSI encoding corresponding to current locale.

What's why qmmp can not display such tags correctly.

Relevant qmmp issue:
https://sourceforge.net/p/qmmp-dev/tickets/924/

Relevant taglib (library qmmp uses for ID3 tags processing) issue:
https://github.com/taglib/taglib/issues/129#issuecomment-2408567868

Taglib issue also contains the patch that fixes the problem by detecting
1-byte charset using system locale, just as recent update to Debian's 7zip
does.
<https://salsa.debian.org/debian/7zip/-/commit/c9e7cf319db67ee58d27b90dba81832f6fb598a1>

I am attaching sample mp3 file demonstrating the problem. This is free mp3
example from
https://file-examples.com/index.php/sample-audio-files/sample-mp3-download/

I used WinAmp 2.95 in Wine to add ID3v1 tag in Russian to this sample to
demonstrate the problem without violating copyright laws.

I am also attaching screenshot demonstrating the problem.

Possible solution would be to enable USE_LIBRCD build option. With it, qmmp
would be able to use rcd library to detect at least russian encodings:
https://github.com/RusXMMS/librcd

#1085032#10
Date:
2025-05-16 05:55:14 UTC
From:
To:
If I got this correctly, you've got some ID3v1 tags generated on
Windows, using a non-standard locale depending upon your Windows
environment, that qmmp cannot show.

Where should qmmp get the missing information (the locale on the
Windows host at that time) get from?

Do you think it would be feasible to convert the ID3 tags to ID3v2
and Unicode using tools like id3v2? Please Make a backup of your
mp3 files first.