新春パソコン系覚え書き・第二弾。
昨年12月30日の記事で書いた、PodManagerで文字化けが発生の件。あれの原因が何となく分かりましたです。ID3タグの文字コードの問題なんだけど、恐らくこんなヘンな使い方してた人は非常に少ないんじゃないかなぁ…?
当方昨年末にようやくiPod nanoを入手したわけですが、iTunesはかなり昔、初期のバージョンからずっと使ってたんですよ。MacでMP3を作成・管理するにはこれしかないじゃん!みたいな。しかも昨年初めまでOS9使いだったりして…MacOS 9で動作するiTunesは2.0.4が最終バージョンですが私の環境、太古のPowerMac 7600(G4/420)では2.0.4がうまく動かなかったんで、1.1を使ってシコシコMP3を作っては溜め込んでました。
この時点で分かってたことは、どうやらMacのiTunesは他のプレーヤーと文字コードが違うらしい。そのままWindows等へ持っていくと化けるので、「ID3タグを変換」機能で変換した物をもう1セット作っておこう、というものでした。
…が、今回PodManagerの問題を契機にいろいろ調べたり試したりしたところ、今の環境ではその必要はないんじゃないか?…ということで、まずは参考サイトから。
- iTunes・SoundJamの文字化け問題 (Desire for wealth)
- iTunesあるいはSoundJAMのID3タグにおける日本語の扱いの混乱について (OSTRACISM CO.)
- iTunes 2: 2 バイト文字の Unicode ID3 タグが文字化けする (アップルコンピュータ)
iTunes初期の頃、5〜6年以上前のドキュメントです。上2つのページで挙げられているSoundJamとは、iTunesの前身となったソフトです。iPodやWindows版が出てここまで普及するとは思いもよらなかった頃の話。しかしややこしい内容です、何回か熟読したけど今一つ把握できない…とりあえず分かったのは
日本語ID3タグの文字コードにはShift JIS(ASCII)、ISO Latin-1、Unicodeの3種があり、プレーヤー(ソフト)によって対応が違う場合がある。
ということ…その後実際に試してみた結果から、各プレーヤーでの文字コード対応状況をまとめてみました。
(2008/07/13追記)
Shift JIS (ASCII) | ISO Latin-1 | Unicode | |
iTunes 1.1 for Mac | ※1 | ○ | × |
iTunes 7.0.2 for Mac (※2) | ※1 | ○ | ○ |
iTunes 7.7 for Mac (※3) | ○ | ※1 | ○ |
iTunes 7.0.2 for Windows | ○ | × | ○ |
Windows Media Player 10 | ○ | × | ○ |
Creative ZEN Nano Plus | ○ | × | ○ |
iPod | iTunesに依存? (※4) | ||
PodManager | ○ | × | ○ |
Pod野郎 (※5) | ○ | ○ | ○ |
※1…「ID3タグを変換」機能で対応
※2…バージョン2.0.2〜7.6.2は同じ仕様らしいです。
※3…バージョン7.7で仕様が変更されたようです。
※4…曲ファイルとは別にライブラリデータを転送してるっぽい?つまりiTunesで表示されている内容がそのまま反映されるようです。
※5…ひょっとしたら、iPodのライブラリデータを読んでいるのかもしれない?(未確認)
つまりUnicodeにしておけば、ほとんどの環境で対応できるということですな、そしてUnicodeに対応してないiTunes 1.1を使い続けていた私が愚かだった、とorz...
ではShift JISやISO Latin-1でエンコードされたID3タグをMac版iTunesの「ID3タグを変換」で正しくUnicode化するにはどうすればいいか?↓こちらにヒントがありました。
- 文字化け / iTunes 4.9 for Windows (Bowz::Weblog)
そしてさらに分かったこと
- 現在のiTunes(バージョン2.0.2以降)は、Unicodeが標準文字コードとなっている。
- iTunes上でタグを編集、もしくは「ID3タグを変換」の「ID3タグバージョン」(2.2〜2.4)を設定することにより、iTunes上の表示に従ってタグをUnicodeで再構築することが出来る。
- よって、iTunes上で文字化けしている場合はあらかじめ「文字列を変換」した後でタグを再構築する必要がある。

Mac版iTunesの「ID3タグを変換」ダイアログ
Shift JIS→Unicodeへの変換
- 「文字列の変換」 - 「ASCIIからISO Latin-1へ」を実行する(文字化けが直る)
- 再度「ID3タグを変換」を開き「ID3タグバージョン」を設定する(iTunesデフォルトのv2.2、または2.3が良いでしょう)
ISO Latin-1→Unicodeへの変換
- そのまま「ID3タグバージョン」を設定する
ISO Latin-1→Unicodeへの変換 (iTunes 7.7以降)
- 「文字列の変換」 - 「ISO Latin-1からASCIIへ」を実行する(文字化けが直る)
- 再度「ID3タグを変換」を開き「ID3タグバージョン」を設定する
こんな感じでいいのかな?間違いなどあったら指摘してつかぁさい。しかし改めて冒頭で挙げた古い資料を読んでみると、初期のiTunesの文字コード実装がいかにタコであったか、浮き彫りになりますなぁ。何でこんなソフト使ってたんだか…以上、恐らく多くの人には関係ない?覚え書きでした。。