トラブルシューティング

  1. Windows-31J(CP932)からの変換時の文字化け

Windows-31J(CP932)からの変換時の文字化け

Windows-31J(Microsoft Code Page 932)では、重複して符号化されている文字が存在します。
これらの文字をSkyOnDemand(内部的にはUnicodeで保持しています。)で別のエンコードに変換する際に、文字化けが発生する場合があります。

Windows-31JとShift_JIS間であれば、文字コンバータの「CP932からSJISに変換処理」「SJISからCP932に変換処理」を使用することで、特定の文字の文字化けを回避することができます。

「SJISからCP932に変換処理」および「CP932からSJISに変換処理」で変換できる特定の文字は以下の通りです。

文字 Shift_JISのコード位置 Shift_JISからUnicodeへのマッピング Windows31-JからUnicodeへのマッピング
0x815C 0x2014 0x2015
0x8160 0x301c 0xff5e
0x8161 0x2016 0x2225
0x817C 0x2212 0xff0d
¢ 0x8191 0x00a2 0xffe0
£ 0x8192 0x00a3 0xffe1
¬ 0x81ca 0x00ac 0xffe2

重複コードの詳細については、Microsoftサポートオンラインの「SHIFT - JISとUnicode間の変換問題」(https://support.microsoft.com/ja-jp/kb/170559)を参照してください。