mediatombとtaglibと文字化け
やっと分かった。taglibから文字列を取り出すときにlatin1をUTF-8に変換してしまっていることが一番の問題。まずはこれを防ぐためのパッチ。
--- src/metadata/taglib_handler.cc.orig 2008-08-23 15:14:53.000000000 +0900 +++ src/metadata/taglib_handler.cc 2008-08-23 15:12:04.000000000 +0900 @@ -119,7 +119,7 @@ } if ((field != M_DATE) && (field != M_TRACKNUMBER)) - value = String((char *)val.toCString(true)); + value = String((char *)val.toCString(false)); value = trim_string(value);
UTF-8で統一されておれば、これだけでも少しはマシな挙動となるだろう。あとは大量にあるCP932(Shift_JIS)のタグをどうするか。この際、UTF-8に全部変換してしまった方がいいかも。
(mediatomはDLNAサーバーです。)