| < 2007年5月 > | ||||||
|---|---|---|---|---|---|---|
| 29 | 30 | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | 1 | 2 |
次の日: 2007年6月3日
| < 2007年5月 > | ||||||
|---|---|---|---|---|---|---|
| 29 | 30 | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | 1 | 2 |
Windows 版 iTunes で管理していた音楽ファイルの山を、Mac に持ってきたら盛大に文字化けることがある。
原因は、Mac 版 iTunes が、mp3 ファイルのタグに保存されている ASCII 文字列を、「ISO-Latin-1 から ASCII に変換」してから表示するため。
この変換と逆の変換は、iTunes の「ID3 タグを変換...」で指定できるので、とりあえず読めるようにはできる。しかし、変換すると(当然だけど)Windows 版 iTunes やほかのプレイヤーでは正常に表示されない。
Unicode として保存してしまえば問題はないので、ちょこっとプログラムを書いてみた。mp3-uniencode
これで 10GB もあるファイルを延々変換、これで解決。あぁ、疲れる。
ちなみに、mp3 のストリーミングを Mac の iTunes で再生すると、タイトルとかの日本語が文字化ける。これも同じ問題。
テーブルは解析済みなので、あとはストリーミングサーバ側で、User-Agent に iTunes が来たら「まともに表示されるように」逆変換してやればいい。なんて泥臭い実装なんだろう。