owntone / owntone-server

Linux/FreeBSD DAAP (iTunes) and MPD audio server with support for AirPlay 1 and 2 speakers (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
https://owntone.github.io/owntone-server
GNU General Public License v2.0
2.06k stars 236 forks source link

Filenames with diacritics not accepted by m3u playlists #1392

Closed baumaeschi closed 2 years ago

baumaeschi commented 2 years ago

The "m3u playlist interpreter" cannot find files with diacritcs (special characters like è, é, ö, ü, ' etc.) in the filename.

How to reproduce: download attached zip file and test.

I'm using the current version of owntone on a Raspberry Pi 3B Plus.

Voice Memo.zip

hacketiwack commented 2 years ago

Hi @baumaeschi, Actually, the problem lies with your m3u file. Your file is encoded with CP1252. I guess you created it on a Windows operating system. And on the Raspberry Pi 3B Plus, you most probably have some kind of Linux with UTF8 as the default encoding. So when OwnTone tries to read your m3u file (With special characters.m3u), then it reads:

01 G?n?ve.m4a
02 That's or it's.m4a
03 ?ber T?lern.m4a

Instead of:

01 Génève.m4a
02 That's or it's.m4a
03 Über Tälern.m4a

You can convert your files with the iconv command on GNU/Linux: iconv -f cp1252 -t utf-8 "With special characters.m3u" > "Corrected Playlist.m3u"

However, I doubt this is an acceptable solution if you create your playlist on Windows. I would recommend in this case to take your m3u files and convert them with a text editor like Notepad++, which provides such facilities.

Can you please try the attached file and let me know if it works for you Corrected Playlist.m3u.zip.

baumaeschi commented 2 years ago

Hi @hacketiwack

Thanks a lot for your analysis. You're right with your assumptions. I create the playlists with mp3tag (a very good windows tag editor) and I use notepad++ to "finetune" the m3u files.

But I was not aware that this could be a character coding problem (maybe erroneously assuming the Linux "m3u playlist interpreter" could handle different commonly used character encoding systems)

After converting my m3u's from ANSI to UTF8 with notepad ++ everything was ok :-)

hacketiwack commented 2 years ago

Happy that you could make it work :-) Apparently, there is support for UTF8 in Mp3tag. Please look at the documentation there. I would also recommend to not select the BOM (Byte Order Mark) option when exporting in UTF8 or UTF16.

baumaeschi commented 2 years ago

Thanks for your hint about UTF8 support in Mp3tag. Will check that out as soon as possible :-)