文字コードに関するまとめ

Last-modified: 2007-02-09 (金) 15:44:30

#analyzer


なぜ文字コードが必要になったか

これまで Windows で蓄積してきた MP3 ライブラリを Linux で扱いたいと思い
単純にコピーして amarok で再生させた時のことです。
amarok はライブラリをデータベースに記録してくれるのですが
表示されるアルバム情報がほとんど文字化けしていました。

原因はタグの文字コードとamarokでの文字エンコーディングの違いによるものです。
通常WindowsでリッピングしたMP3タグは SJIS で書き込まれますが
どうやら amarok は異なるエンコーディングを行っているようです。

Windows上での主要なコードページ

932 shift_jis ANSI/OEM Japanese; Japanese (Shift-JIS)
50220 iso-2022-jp ISO 2022 Japanese with no halfwidth Katakana; Japanese (JIS)
50221 csISO2022JP ISO 2022 Japanese with halfwidth Katakana; Japanese (JIS-Allow 1 byte Kana)
50222 iso-2022-jp ISO 2022 Japanese JIS X 0201-1989; Japanese (JIS-Allow 1 byte Kana - SO/SI)
51932 euc-jp EUC Japanese
65001 utf-8 Unicode (UTF-8)

Windows API を使って文字コードを変換する

ConvertINetString

MLang.dll から LoadLibrary して呼び出せます。

MultiByteToWideChar/WideCharToMultiByte