CP932のID3TAGが文字化けしてしまう件

  • 投稿日:
  • by
  • カテゴリ:

すっかり、Mediatombで快適なマルチメディア生活をしているのですが、一点困ったことがあります。我が家のサーバには、Exact Audio Copy + LAMEでエンコードされたオーディオファイルが蓄積されています。Windows上でリッピングされているので、ID3TAGは当然、Shift JIS (CP932)になっています。

iTunes用に、mt-daapdで公開している分には問題ないのですが、mediatomb.ccから持ち込んだパッケージを使うと、CP932でエンコードされていると指定しても、機能しないのです。

結論から言うと、リンクされているlibtag1が、CP932を理解しないからで、これを libid3を利用するようにするだけで、問題はすっかり解消します。やれ、UTF16でエンコードし直せとか、そんな話もありましたが、面倒すぎてやっていられませんからね。

apt-getでソースを取り込むと、(apt-get source mediatomb)mediatomb-0.11.1/debian というディレクトリが出来ます。rulesというファイルの中で、configureへ渡すオプションが列挙してある場所がありますから、taglibとid3libのスイッチを逆にします。

--enable-taglib \

--disable-id3lib \
↓変更↓
--disable-taglib \

--enable-id3lib \

このまま、リビルドしてもいいのですが、apt-getでアップデートかけると上書きされてしまいますので、debian/filesとdebian/changelog, debian/controlを変更して、1etch1というシリアル番号を 2etch1とかにしてやります。

あとは、dpkg-buildpackage -rfakeroot として、パッケージを作り直してやるだけでオッケーです。これで、CP932のタグを正しく処理できる Mediatombができあがります。