Support and General Use > Audio Playback, Database and Playlists
Some characters are shown incorrectly on the playing menu
bahus:
To return old behavior change Settings -> General Settings -> Display -> Default Codepage to Latin1 (default was changed to UTF-8)
jsr_278:
Thank you very much for the information, I didn't know about the codepage encoding. I tried both solutions and they work absolutely fine.
speachy:
--- Quote from: iPodVT on April 09, 2025, 07:22:58 PM ---If you are able to explain in a brief sentence or less, please tell us what changed in Rockbox that made these tags start displaying differently?
And I don't understand why the first 'é' in "Dédé" would display as a char that looked like a question mark in a circle while the second 'é' would simultaneously display as a dotted rectangle char, when the font is set to 14-Rockbox-Mix?
--- End quote ---
https://en.wikipedia.org/wiki/Character_encoding has a very comprehensive explanation of how this works.
But the shorter answer: The byte sequences in the metadata are presumably Latin1, for which each byte equals one "letter" but limits you to a max of ~220 possible individual letters. This is completely inadequate for representing the *1.1 million* (or so) characters currently defined, which is why modern encoding systems use multiple bytes to encode each letter, allowing multiple lanuguages to be displayed simultaneously. UTF-8 in particular uses _variable_ numbers of bytes per letter in an attempt to be more efficient wile still maintaining 1:1 compatibility with the OG encoding, ASCII (which only defines ~90 letters)
So while the byte sequences in your metadata are valid under Latin-1, they represent _invalid_ UTF8 sequences, which causes the decoder to hiccup and produce garbage before it re-synchronizes at the next valid sequence. As those two 'é' have different bytes preceding them, they decode differently.
iPodVT:
Thanks very much, speachy, for all of the information.
And thanks, jsr_278, for initiating this topic.
Navigation
[0] Message Index
[*] Previous page
Go to full version