/
/
# What does this implement/fix? Track and album names from CUE sheets and playlists written in a legacy codepage could still come out as the wrong text. Turkish, Greek, Baltic, Hebrew and Central European rips were affected most, and some Cyrillic ones too. These files are almost entirely ASCII keywords with just the titles in the local codepage, which leaves a charset detector very little to go on. Measured over 193 realistic CUE/M3U/PLS files across 17 languages, the detector we currently use reads 58% of them correctly, against 84% for the one it replaced. The earlier switch assumed the old detector was at fault, but the real cause was a confidence check that files of this shape can never satisfy. A wrong guess is not obvious to spot: rather than visible question marks you get plausible but incorrect text, such as `Şımarık` turning into `Þýmarýk`. **Related issue (if applicable):** - https://github.com/music-assistant/support/issues/6093 Changes: - Charset detection uses chardet again, and trusts the charset it names rather than gating on a confidence score these files never reach. - The detected charset is logged at debug level, so a future report can be diagnosed from a log instead of guesswork. - Round-trip tests now cover cp1250, cp1252, cp1254, cp1255, cp1257 and KOI8-R alongside cp1251. ## Types of changes - [x] Bugfix (non-breaking change which fixes an issue) — `bugfix` - [ ] New feature (non-breaking change which adds functionality) — `new-feature` - [ ] Enhancement to an existing feature — `enhancement` - [ ] New music/player/metadata/plugin provider — `new-provider` - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) — `breaking-change` - [ ] Refactor (no behaviour change) — `refactor` - [ ] Documentation only — `documentation` - [ ] Maintenance / chore — `maintenance` - [ ] CI / workflow change — `ci` - [ ] Dependencies bump — `dependencies` ## Checklist - [x] The code change is tested and works locally. - [x] `pre-commit run --all-files` passes. - [x] `pytest` passes, and tests have been added/updated under `tests/` where applicable. - [ ] For changes to shared models, the companion PR in `music-assistant/models` is linked. - [ ] For changes affecting the UI, the companion PR in `music-assistant/frontend` is linked. - [x] I have read and complied with the project's [AI Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md) for any AI-assisted contributions. - [ ] I have [raised a PR against the documentation repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md) targeting the main or beta branch as appropriate.