技術的ひとりごと(備忘録)

いろいろな備忘録的な何か

OwnCloudのMusicアプリで曲名などが文字化けする件の対処方法

タイトルの通りの内容です。
OwnCloud6 と OwnCloud7 では getid3 ライブラリの置き場所が違うため、対処法が異なります。要注意です。

  1. 現象
    • ownCloud 7.0.4 (stable) に Muisc 0.3.5 のアドオンを突っ込んだところ、アーティスト名/アルバム名/曲名 の情報が文字化けする現象が発生。
  2. 回避方法
    • 以下の修正を行う
      1. 変更対象
        • owncloud install dir/3rdparty/james-heinrich/getid3/getid3/getid3.lib.php
        • owncloud install dir/apps/music 配下の getid3 ではありません。(バージョン7ではowncloud本体にgetid3ライブラリが付属していて、そちらを使っているようです。)
      2. 変更内容
        • (1) iconv_fallback 関数の最初のifブロックの後に以下の処理を追加する。
          • return mb_convert_encoding($string,'UTF-8',"CP932,EUCJP-WIN,ISO-8859-1");
        • (2) MultiByteCharString2HTML 関数の switch文で、UTF-8だった場合の処理を以下の2文に変更する。
          • $HTMLstring = htmlentities($string, ENT_COMPAT, $charset);
          • break;
  3. 参考URL
    1. owncloud 6 musicアプリ日本語文字化けの件 - insidebeatってJazz?|青森県八戸市ジャズ
    2. お茶どうぞ☆・:゚*オォヾ(o´∀`o)ノォオ*゚:・☆: getID3で日本語が文字化けする場合の対処法(UTF-8編)