Playlist character encoding problem

I created a playlist for some classical music (i.e., title/tags with lots of fancy punctuation). Several of the individuual songs did not show up on the playlist listing, although the files themselves can be found and played under their respective Artist/Album categories. Others showed up with missing characters or “boxes” (undefined character) in their names.

Further investigation showed that problematic tracks all had characters in either their ID3 Title tag or the title portion of the #EXTINF entry with codes > 127. BTW, this is all done in MSC mode with .m3u playlists.

I don’t know if these characters show up correctly in HTML, but they are the “smart” left/right double quotes (0x93/0x94), accented vowels and em dash (0x96, not your usual hyphen “-” ). Here is an example:

Symphony No. 3 in E-Flat Major, Op. 55, “Eroica” – Allegro Con Brío.mp3

Again, these files are handled properly when selected manually. I’m wondering what character encoding the playlist processor is using when reading playlist text files?

After further review… I think I found the problem:

The Fuze can actually handle 2 types of playlists: .m3u (encoded as ASCII), and . m3u8 (UTF-8 encoded Unicode w/ no BOM). Creating my playlist with UTF-8 encoding and insuring the file extension is really .m3u8 fixed the problem.

Note that WinAmp allows you to save a playlist as “M3U8 (Unicode) Playlist”, although it is not the default (“M3U Playlist” is). However, besides using an absolute path for tracks, which is problematic, it also writes a BOM (Byte-Order Mark) – those three “garbage” chars at the beginning of the file:  and that will cause the Fuze to display the playlist as totally “empty”. Removing them (and fixing the file paths) with a text editor makes everything work fine.

To SanDisk developers: any chance of getting it to handle the BOM in UTF-8 files? It is sort of a standard…

Wow, I never would have guessed m3u8 would be supported.  Intersting…

On a side note, here’s a little tool you might be interested in with the amusing name FART (Find and Replace Tool).  It’s a nice little search and replace command line utility.  I use it to deal with the full path versus realtive path issue.  I put my playlists in the \MUSIC folder, so I use FART to remove “\MUSIC” from the paths in the playlists.  I just made a little batch file that I run after syncing to fix the playlists.  You could also use it to remove the BOM characters.