diff -ur mythtv-0.24.1_orig/libs/libmythupnp/upnpcds.cpp mythtv-0.24.1/libs/libmythupnp/upnpcds.cpp
--- mythtv-0.24.1_orig/libs/libmythupnp/upnpcds.cpp	2011-05-16 05:57:52.000000000 +0900
+++ mythtv-0.24.1/libs/libmythupnp/upnpcds.cpp	2013-06-13 14:25:31.687879544 +0900
@@ -841,7 +841,7 @@
                                                         .arg( nIdx );
 
                         CDSObject *pItem = CreateContainer( sId,  
-                                                            QObject::tr( pInfo->title ), 
+                                                            QObject::trUtf8( pInfo->title ), 
                                                             m_sExtensionId );
 
                         pItem->SetChildCount( GetDistinctCount( pInfo ) );
@@ -1274,6 +1274,7 @@
     if (query.isConnected())
     {
         QString sWhere( "" );
+        QString sOrder( "" );
 
         if ( sKey.length() > 0)
         {
@@ -1281,9 +1282,15 @@
                        .arg( pInfo->column );
         }
 
+        QString orderColumn( pInfo->orderColumn );
+        if (orderColumn.length() != 0) {
+            sOrder = QString( "ORDER BY %1 " )
+                       .arg( orderColumn );
+        }
+
         QString sSQL = QString( "%1 %2 LIMIT %3, %4" )
                           .arg( GetItemListSQL( pInfo->column )  )
-                          .arg( sWhere )
+                          .arg( sWhere + sOrder )
                           .arg( pRequest->m_nStartingIndex  )
                           .arg( pRequest->m_nRequestedCount );
 
mythtv-0.24.1/libs/libmythupnpだけに発見: upnpcds.cpp.orig
diff -ur mythtv-0.24.1_orig/libs/libmythupnp/upnpcds.h mythtv-0.24.1/libs/libmythupnp/upnpcds.h
--- mythtv-0.24.1_orig/libs/libmythupnp/upnpcds.h	2011-05-16 05:57:52.000000000 +0900
+++ mythtv-0.24.1/libs/libmythupnp/upnpcds.h	2013-06-06 01:05:38.747880840 +0900
@@ -151,6 +151,7 @@
     const char *column;
     const char *sql;
     const char *where;
+    const char *orderColumn;
 
 } UPnpCDSRootInfo;
          
mythtv-0.24.1/libs/libmythupnpだけに発見: upnpcds.h.orig
diff -ur mythtv-0.24.1_orig/programs/mythbackend/upnpcdsmusic.cpp mythtv-0.24.1/programs/mythbackend/upnpcdsmusic.cpp
--- mythtv-0.24.1_orig/programs/mythbackend/upnpcdsmusic.cpp	2011-05-16 05:57:52.000000000 +0900
+++ mythtv-0.24.1/programs/mythbackend/upnpcdsmusic.cpp	2013-06-06 01:05:38.747880840 +0900
@@ -53,7 +53,7 @@
             "FROM music_songs song "
             "%1 "
             "ORDER BY name",
-        "" },
+        "", "" },
 
 /*
 This is currently broken... need to handle list of items with single parent (like 'All Music')
diff -ur mythtv-0.24.1_orig/programs/mythbackend/upnpcdstv.cpp mythtv-0.24.1/programs/mythbackend/upnpcdstv.cpp
--- mythtv-0.24.1_orig/programs/mythbackend/upnpcdstv.cpp	2011-05-16 05:57:52.000000000 +0900
+++ mythtv-0.24.1/programs/mythbackend/upnpcdstv.cpp	2013-06-13 14:28:40.207880501 +0900
@@ -39,7 +39,7 @@
 
 UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] =
 {
-    {   "All Recordings",
+    {   "全ての録画",
         "*",
         "SELECT 0 as key, "
           "CONCAT( title, ': ', subtitle) as name, "
@@ -47,9 +47,9 @@
             "FROM recorded "
             "%1 "
             "ORDER BY starttime DESC",
-        "" },
+        "", "starttime DESC" },
 
-    {   "By Title",
+    {   "タイトル別",
         "title",
         "SELECT title as id, "
           "title as name, "
@@ -58,9 +58,9 @@
             "%1 "
             "GROUP BY title "
             "ORDER BY title",
-        "WHERE title=:KEY" },
+        "WHERE title=:KEY", "starttime DESC" },
 
-    {   "By Genre",
+    {   "ジャンル別",
         "category",
         "SELECT category as id, "
           "category as name, "
@@ -69,9 +69,9 @@
             "%1 "
             "GROUP BY category "
             "ORDER BY category",
-        "WHERE category=:KEY" },
+        "WHERE category=:KEY", "starttime DESC" },
 
-    {   "By Date",
+    {   "日付別",
         "DATE_FORMAT(starttime, '%Y-%m-%d')",
         "SELECT  DATE_FORMAT(starttime, '%Y-%m-%d') as id, "
           "DATE_FORMAT(starttime, '%Y-%m-%d %W') as name, "
@@ -80,9 +80,9 @@
             "%1 "
             "GROUP BY name "
             "ORDER BY starttime DESC",
-        "WHERE DATE_FORMAT(starttime, '%Y-%m-%d') =:KEY" },
+        "WHERE DATE_FORMAT(starttime, '%Y-%m-%d') =:KEY", "starttime DESC" },
 
-    {   "By Channel",
+    {   "チャンネル別",
         "chanid",
         "SELECT channel.chanid as id, "
           "CONCAT(channel.channum, ' ', channel.callsign) as name, "
@@ -92,10 +92,10 @@
             "%1 "
             "GROUP BY name "
             "ORDER BY channel.chanid",
-        "WHERE channel.chanid=:KEY" },
+        "WHERE channel.chanid=:KEY", "starttime DESC" },
 
 
-    {   "By Group",
+    {   "グループ別",
         "recgroup",
         "SELECT recgroup as id, "
           "recgroup as name, count( recgroup ) as children "
@@ -103,7 +103,7 @@
             "%1 "
             "GROUP BY recgroup "
             "ORDER BY recgroup",
-        "WHERE recgroup=:KEY" }
+        "WHERE recgroup=:KEY", "starttime DESC" }
 };
 
 int UPnpCDSTv::g_nRootCount = sizeof( g_RootNodes ) / sizeof( UPnpCDSRootInfo );
diff -ur mythtv-0.24.1_orig/programs/mythbackend/upnpcdsvideo.cpp mythtv-0.24.1/programs/mythbackend/upnpcdsvideo.cpp
--- mythtv-0.24.1_orig/programs/mythbackend/upnpcdsvideo.cpp	2011-05-16 05:57:52.000000000 +0900
+++ mythtv-0.24.1/programs/mythbackend/upnpcdsvideo.cpp	2013-06-06 01:05:38.747880840 +0900
@@ -31,7 +31,7 @@
             "FROM upnpmedia "
             "%1 "
             "ORDER BY title",
-        "" }
+        "", "title" }
 
 };
 
