Version: 2.2.2 (using 4.3.4 (KDE 4.3.4), Debian packages) Compiler: cc OS: Linux (x86_64) release 2.6.32-2-amd64 Stream example: http://mp3.nashe.ru/nashe-192 Tags of this stream is cyrillic encoded utf8. When trying to play with amarok it shows something unreadable instead of cyrillic. But it work fine in other players (tested mplayer, vlc, amarok 1.4). My locale is: $ locale LANG=ru_RU.UTF-8 LANGUAGE= LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=
Confirmed with current git, using the en_US.UTF-8 locales
IMHO the problem is in the phonon xine backend, especially where we want to decide how we should handle the meta strings. We check each meta string that is utf8 encoded or not. I think this check is wrong - because this way the isUtf8 variable never can be true: false & true is always false. pisti@pisti-noti:~/kde/src/phonon-4.7.0really4.4.2/xine$ git diff -u diff --git a/xine/xinestream.cpp b/xine/xinestream.cpp index 4817073..f2ec75c 100644 --- a/xine/xinestream.cpp +++ b/xine/xinestream.cpp @@ -748,7 +748,7 @@ void XineStream::updateMetaData() }; bool isUtf8 = false; for (int i = 0; !isUtf8 && i < 8; ++i) { - isUtf8 &= checkIsUtf8(meta[i]); + isUtf8 |= checkIsUtf8(meta[i]); } QTextCodec *codec = QTextCodec::codecForMib(106); // utf-8 if (!isUtf8) {
*** This bug has been marked as a duplicate of bug 212099 ***