QA@IT

AndroidにマウントされたSDカード内の日本語ファイル名の取り扱い

4098 PV

AndroidにマウントされるSDカードで非ASCII文字のファイルを取り扱えるようにするには、Android外のホストでどのようにマウントするのが良いでしょうか?

例えばcodepage=932,iocharset=utf8というマウントオプションでマウントして非ASCII文字を含むファイル(日本語の歌のMP3ファイルなど)を書き込んだSDカードをAndroidにマウントすると、Androidがファイルシステムを期待通りに取り扱えないらしく、アプリケーションの動作が遅くなったり再起動してしまったりするようです。

なお、Android 2.3.6では下記より、codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8というマウントオプションでSDカードをマウントしているようです。

$ adb shell mount | grep sdcard

回答

Linuxホストからiocharset=utf8,shortname=mixed,utf8というマウントオプションでマウントしたところ期待通りにファイルのコピーができました。

AndroidデバイスをUSBケーブルで接続し、上記マウントオプションでマウントしたところ、LANG=ja_JP.UTF-8の環境で期待通りファイル名を見られるファイルを期待通りコピーできた(Linda Managerで期待通りファイル名を見られる、Musicアプリケーションが音楽を再生できる)ようです。

編集 履歴 (0)
  • MP3タグの文字コードは期待通りにはなっていないようで、Musicアプリケーションで再生中に表示される音楽情報は豆腐などに文字化けしている。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。