その曲をAmpacheに登録した際、文字化けした状態で取り込まれてしまう問題がありました。
この問題に対応するためのパッチを作成しましたので、公開します。
ダウンロード
Ampache 3.6 Alpha Dev-? (現行開発バージョン) 向けのパッチ
※Ampache 3.6 Alpha Dev-1には対応しておりません。(現行開発バージョンとAlpha Dev-1はライブラリのバージョンが違うため)
このパッチを使用する場合は、現行のAmpache開発バージョンをお使いください。
開発バージョンは、ampacheの公開gitより、以下のコマンドなどでダウンロードできます。
$ git clone git://gitorious.org/ampache/ampache.git
適用方法
パッチは、Ampacheインストールディレクトリ内のmodules/getid3 まで移動して、patchコマンドで適用することが出来ます。
以下はパッチをホームディレクトリ直下に保存した場合のコマンド例です。
$ cd ampache/modules/getid3
$ patch < ~/ampache-garbled_id3v2.patch
文字化けの原因
これは、音楽ファイルに含まれている情報の文字コードが Shift_JIS だからです。
Ampacheは、音楽の情報を読み取る際にgetID3()というライブラリを使っています。
WindowsMediaPlayerなどで取り込んだ音楽ファイルには ID3v2 タグと呼ばれる、タイトルやアーティストなどの情報が含まれているのですが、getID3() ライブラリはこの情報を音楽ファイルから読取り、Ampache に渡しています。
このパッチは、このライブラリが取得した ID3v2 タグがどの文字コードであるかを判定して、文字化けしないよう UTF-8 へ変換しています。
また、このパッチは Ampache ではなく、getID3() ライブラリ側を書き換えるようになっています。これは、Ampacheにデータを渡す前の段階で、Shift_JIS -> UTF-8 への変換が既に行われてしまっているためです。
文字化けしたものを更にエンコードされると情報がおかしくなってしまうので、Ampache側だけでの対応は難しそうです。。
0 件のコメント:
コメントを投稿