J2SE 1.5.0での文字コード一覧とConnector/Jにおけるコードマッピング

J2SE 1.4.2_08の環境でも既に動作が確認されているものがあるが,今後の日本語対応を拡張していく上でメモとして残しておきたい文字コードを以下に.

EUC-JPEUC_JPJISX 0201、0208、0212、EUC エンコーディング、日本語
ISO-2022-JPISO2022JPISO 2022 形式の JIS X 0201、0208、日本語
Shift_JISSJISShift-JIS、日本語
windows-31jMS932Windows 日本語
x-euc-jp-linuxEUC_JP_LINUXJISX 0201、0208、EUC エンコーディング、日本語
x-eucJP-OpenEUC_JP_SolarisJISX 0201、0208、0212、EUC エンコーディング、日本語
x-IBM33722Cp33722IBM-eucJP - 日本語 (5050 のスーパーセット)
x-IBM930Cp930UDC 4370 文字を含む日本語カタカナ漢字、5026 のスーパーセット
x-IBM939Cp939UDC 4370 文字を含む日本語ラテン文字漢字、5035 のスーパーセット
x-IBM942Cp942IBM OS/2 日本語、Cp932 のスーパーセット
x-IBM942CCp942CCp942 の拡張
x-IBM943Cp943IBM OS/2 日本語、Cp932 および Shift-JIS のスーパーセット
x-IBM942CCp942CCp943 の拡張

結構あるな.

Connector/J ver3.1.8+におけるJavaToMySQL変換状況

-EUC_JP → ver5.0.3まではujis,それ以降はeucjpmsへマッピング
-ISO2022JP → 未対応
-SHIFT_JIS(SJIS) → sjisへマッピング
-WINDOWS-31J(MS932) → ver5.0.3まではsjis,それ以降はcp932へマッピング
-EUC_JP_LINUX → 未対応
-EUC_JP_Solaris(EUC_JP_Open) → 未対応
-CP930 → 未対応
-CP939 → 未対応
-CP942 → 未対応
-CP942C → 未対応
-CP943 → sjisへマッピング
-CP943C → 未対応
-(CP932) → cp932

Connector/J ver3.1.8+におけるMysqlToJava変換状況

-eucjpms → EUC_JP
-ujis → EUC_JP
-cp932 → Windows-31J
-sjis → SJIS

JavaToMysqlはCharsets.propertiesから,MysqlToJavaはResultSetをReflectionで中身を覗いて確認しました.cp932→Windows-31Jは明示的な1対1変換なので良いとして,sjisShift_JISではなく何故sjisSJISなのかは個人的にはまだ不明瞭です.まあどっちでも良いと言えば良いですが,今のところMapに追加した順番のせいでそうなっているんじゃ・・・と踏んでいますが.

某氏からEUC_JP_Solarisをeucjpmsにマッピングさせる実装を追加すると良いかもしれないとの話を聞きました.Unicodeとの変換ルールがEUC_JPよりもEUC_JP_Solarisのほうがよりeucjpmsに近いからのようです(完全に一致はしていないとの情報あり).

JavaMySQLの方向のマッピングは未対応のものが数としては結構ありますが,他にもそういう需要ってあるのでしょうか?