Mutagen を使用して ID3 タグ付けを自動化しようとしていますが、Unicode 文字を挿入しようとすると、疑問符に置き換えられます。
このエラーが発生する最小のテスト コードは次のとおりです。
from mutagen.id3 import ID3, TALB
audio = ID3()
audio['TALB'] = TALB(encoding=3, text=u'test祥さtest')
audio.save('test.mp3', v1=2)
実行すると、test.mp3 のアルバム タグがtest??test
ファイル マネージャーと音楽プレーヤーの両方に表示されます。ファイルマネージャーを介して手動でユニコードタグを入力すると、ユニコード文字は問題なく正常に表示されます。
この問題を解決するために私がすでに試したこと:
u
文字列プレフィックスありとなしの両方を試す- 代替変異原タグ構文の使用 (
audio.add(TALB(encoding=3, text=u'test祥さtest'))
)
v1=2
関数の引数を使用しているのはsave
、それを省略すると約半分のファイルにタグが書き込まれず (ユニコードがまだ疑問符として出力されている)、他の値がファイルの ID3 タグの書き込みを拒否するためです。
Windows10 64ビットを使用しています。私の Python 環境は Anaconda3 (Python3.4) と Python2.7 で、どちらも同じコードで同じ問題が発生します。