以前の記事で紹介したとおり、ファイルサーバ上に貯まった動画や音楽をネットワーク上で共有するために、LinuxのDLNAサーバであるmediatombを利用している。ファイルサーバはsambaで公開されているので、Linux側ではsmbmountしてmediatomb上で公開している。DLNAクライアントは今のところPS3しかない。一般的な動画や音楽は再生できているが、幾つか気になる問題が残っていた。その1つが主題にもなっているコンテンツの日本語タイトルにおける文字化けだ。sambaサーバ上でコンテンツを管理しているため、ややこしい状況になってしまっている。
sambaサーバ上の文字コードだが、ファイルサーバであるtera stationなので細かい設定を確認する事は出来ない。が、windows環境から文字化けせずに見えているので、おそらくSJISだろう。これをmediatombのブラウザでアクセス出来る管理ツールで確認すると、既に文字化けしている。まずはここから修正を試みてみよう。これについてはそれほど難しくなく、mediatombのconfig.xmlにてファイルシステムとmediatombの文字コードをSJISに指定すればよい。具体的には以下のような設定を追加した。
<filesystem-charset>CP932</filesystem-charset>
<metadata-charset>CP932</metadata-charset>
この設定でブラウザ上で確認できる文字化けは解消する事が出来た。しかし、それはFilesystemタブ側だけの話で、Database側の文字化けは依然続いていた。DBにはmysqlを使用しているのだが、ここのテーブルの文字コードはutf8が指定されている。ここも同様にSJISに直さなければならないだろう。タイトルが含まれるテーブルはmt_cds_objectというテーブルなので、この表だけSJISで作成し直した。この変更はテーブル定義を修正する形で対応した。こちらも具体的には以下のDDLを実行した。
ALTER TABLE mt_cds_object CHARACTER SET sjis;
しかし、それでも文字化けは解消しない。ほぼ諦めかけていたのだが、もう一度DBの中身を確認してみると文字化けしたままの状態だった。何となく一度データを消して、コンテンツを再登録してみると・・・上手くいった!これで日本語を多く含む音楽データもDLNAサーバ上で扱う事が可能となった。ついでにATRAC3のaa3ファイルを対応させようとしたが、PS3では再生する事が出来なかった。ファイル名の拡張子をomaにして、以下の設定を追加すると再生出来るのだが。ATRAC3のハンドリングがいい加減面倒になってきたのでmp3に移行しようかな・・・。
<map from=”oma” to=”audio/x-sony-oma”/>