Index: apps/playlist.c
===================================================================
RCS file: /cvsroot/rockbox/apps/playlist.c,v
retrieving revision 1.167
diff -u -r1.167 playlist.c
--- apps/playlist.c	15 Aug 2006 12:27:04 -0000	1.167
+++ apps/playlist.c	23 Aug 2006 22:16:34 -0000
@@ -501,6 +501,14 @@
         
         p = (unsigned char *)buffer;
 
+        /* utf8 BOM at beginning of file? */
+        if(i == 0 && nread > 3 
+           && *p == 0xef && *(p+1) == 0xbb && *(p+2) == 0xbf) {
+            nread -= 3;
+            p += 3;
+            i += 3;
+        }
+
         for(count=0; count < nread; count++,p++) {
 
             /* Are we on a new line? */
Index: apps/tree.c
===================================================================
RCS file: /cvsroot/rockbox/apps/tree.c,v
retrieving revision 1.434
diff -u -r1.434 tree.c
--- apps/tree.c	17 Aug 2006 08:57:38 -0000	1.434
+++ apps/tree.c	23 Aug 2006 22:16:34 -0000
@@ -106,6 +106,7 @@
     { "sid", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
 #endif
     { "m3u", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST },
+    { "m3u8", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST },
     { "cfg", TREE_ATTR_CFG, Icon_Config, VOICE_EXT_CFG },
     { "wps", TREE_ATTR_WPS, Icon_Wps, VOICE_EXT_WPS },
 #ifdef HAVE_REMOTE_LCD
