Skip to content

Tags written in an old Central European or Cyrillic code page show as garbled characters #711

Closed

Description

@thcp

What happens

Many Polish, Czech, Hungarian and Russian MP3s store their ID3 tags in frames marked ISO-8859-1, but the tagger actually wrote the bytes in the Windows code page of the machine it ran on: cp1250 across Central Europe, cp1251 for Cyrillic. ID3v1 tags have no encoding field at all. ffprobe decodes all of these as Latin-1, so:

  • "Zapomniałem, że żuraw śpi" arrives as "Zapomnia³em, ¿e ¿uraw \x9cpi"
  • "Кино" arrives as "Êèíî"
  • ID3v1 bytes come back as replacement characters

UTF-8 bytes read as Latin-1 are the same family of problem: "Żuraw" becomes "Å»uraw".

Who it affects

Once StemDeck reads an upload's tags (the #699 work), those tags feed the song's name in the UI and the identification and lyrics lookup. A song tagged this way shows a broken name, and the lookup searches for text that exists nowhere, so the song is not identified and its lyrics are not found. This is common in older MP3 collections tagged on Windows in those regions.

Constraints for a fix

  • Correct Latin-1 names must never change: "Björk", "Sigur Rós", "Ágætis byrjun", "Motörhead", "Mañana". Corrupting a correct tag is worse than leaving a broken one alone.
  • The bytes carry no marker of which code page wrote them, so any fix is a judgement between readings of the same bytes.
  • No new dependency. A change to the Python dependency set has a real cost for existing desktop installs.

Being worked on in the feat/song-identification branch.

Activity

  1. added
    bugSomething isn't working
    on Sep 27, 2026
  2. self-assigned this
    on Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions