4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MP3ファイルのメタ情報をデータベースに入れると文字化けする

Last updated at Posted at 2022-05-07

MP3ファイルのアーティスト名やアルバム情報などのメタ情報をデータベースに格納していたところ、以下のような文字化けが発生しました。
image.png

データベースで文字化けと言えばデータベースの文字コードがLatin1などになっていることが考えられますが、今回はちゃんとUTF-8に設定していました。

原因

MP3ファイルのメタ情報がUnicodeになっていなかったことが原因でした。
MP3のメタ情報はID3という形式なのですが、ID3がUnicodeに対応するようになったのはv2以降で、ID3v1を使用しているMP3ファイルのメタ情報をそのままUTF-8のデータベースに格納すると文字化けしてしまいます。

なお、ID3v1はファイルの末尾に、ID3v2はファイルの先頭に書かれるため、両方を一つのMP3ファイルに付けることも出来るそうです。UnicodeのID3v2が付いているMP3ファイルで文字化けが起こる場合は、ID3v1も一緒に付いており、そちらを読んでしまっている可能性があります。(僕の場合はそうでした)

対処法

システム側で対処するよりもタグ情報自体を修正してしまった方が取り回しが楽だと思います。
なお、以下の操作でタグ情報を編集していますが、誤ってタグを全消去する可能性などがありますのでバックアップを取っておくことをオススメします。

私はWindowsでMP3tag (v3.12)というフリーソフトを使用してタグの編集をしています。

インストールしたら、編集したいMP3ファイルを右クリック、もしくはディレクトリを右クリックし、MP3tagを起動します。
image.png

タグという欄にそのMP3ファイルに書き込まれているタグのバージョンが記載されています。下画像の場合はID3v1とID3v2.3がどちらも書き込まれています。僕の知る限りだとCD音源はこの形になっていることが多いような気がします。
image.png

画面上部のツール(O)→オプション(O)から設定画面を開きます。
image.png

タグ→Mpegを以下のように設定します。
image.png

ID3v2以降はUnicodeに対応していますがUTF-8に対応しているのはv2.4以降からですので、UTF-8にしたい場合はv2.4を選んでください。
また、ID3v1とID3v2が混在しているファイルをv2のみにしたい場合は「削除」の項目でID3v1にチェックを必ず入れてください。

設定が完了したら、タグを編集したいファイルを選ぶ、もしくはCtrl+Aで全てのファイルを選択し、行いたい操作に応じて次のどちらかを行います。

v1タグを削除したい

左上の×ボタンをクリックし、選択した全てのファイルからタグの削除を行います。
image.png

以下のようにv1のタグが消えています。
image.png

v2.4タグを書き込みたい

左上のフロッピーボタンをクリックし、選択した全てのファイルにv2.4のタグを書き込みます。ID3v1が存在していても無視してID3v2の部分だけを上書きする形になります。ID3v2.4のみにしたい場合はv1タグの削除も合わせて行ってください。
image.png

参考

ID3タグ(Wikipedia)

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?