mirror of
https://github.com/beetbox/beets.git
synced 2025-12-10 10:32:34 +01:00
When we store paths in the database, we always use bytestrings for consistency. But on Windows, these paths are converted back to Unicode before they reach the FS API. This means that the codec used internally is immaterial. However, we were naively using sys.getfilesystemencoding() for this internal representation. On Windows, this is MBCS, a broken encoding that can't represent all of Unicode. This change replaces that with UTF-8, a "real" codec. The decoding bit now tries UTF-8 and falls back to MBCS for compatibility with existing databases. The reality, however, is that existing databases may not work with this change -- a byte string may represent something different in UTF-8 from what it represents in MBCS. So users should recreated their DBs if anything goes wrong. |
||
|---|---|---|
| .. | ||
| guides | ||
| plugins | ||
| reference | ||
| changelog.rst | ||
| conf.py | ||
| index.rst | ||
| Makefile | ||