Character set conversion fails when writing ID3v1 tag
I need to save ID3v1 tags to my MP3 files. I would like the tag data to be saved as ASCII strings with transliteration. In Preferences -> ID3 Tags tab I checked "Write ID3v1 tag", selected "English (US-ASCII)" encoding, and selected "Transliterate" for "When encoding conversion fails". My ID3v2 tags are saved as version 2.4 with UTF-8 encoding.
Right now I'm getting the following error when trying to save my files:
convert_string(): Failed conversion from charset 'UTF-8' to charset 'ascii//TRANSLIT'. String 'Mg\305\202a'. Errorcode: 1 (Unrepresentable character in conversion input).
In this case, the artist field contains Polish diacritic ł
, which is indeed \305\202
. I can't understand why is this unrepresentable. Such transliteration should work for all Polish diacritics:
$ echo ąćęłńóśżźĄĆĘŁŃÓŚŻŹ | iconv -f utf8 -t ascii//TRANSLIT
acelnoszzACELNOSZZ
As an experiment I selected "Discard" for "When encoding conversion fails", but I'm getting a very similar error (just with ascii//IGNORE
instead of ascii//TRANSLIT
).
For the record, I'm using EasyTag-2.4.3-r1 in Gentoo Linux. It differs from upstream EasyTag-2.4.3 by having commit e5c640ca reverted - but I don't think it's relevant. Saving ID3v1 files with transliteration used to work for me before. But I was mostly using earlier version (EasyTag-2.2.6) on a different system.