ミラクル・リナックスの森山です。

このメールは複数のメーリングリストに出している為、同じメールを受け取る
場合があることを、あらかじめお詫びいたします。

弊社が 2005年度 下期 オープンソースソフトウェア活用基盤整備事業に対し
て提案した「オープンソースソフトウェアにおける統一したレガシーエンコー
ディングの変換機能の開発」採択されました。

本件では、オープンソースソフトウェア(以下、OSS)の Unicode 対応で生じて
いる日本語文字コード変換で新たな問題を解消するため、統一したコード変換
の実装、および変換ガイドラインの作成を行います。この作業成果により、各 
OSS ごとに独自の実装されている文字コード変換処理の仕様を統一し、異なる 
OSS でも同じ文字コード変換処理が可能となります。本件の開発作業対象 OSS 
に、Ruby を加えたいと考えております。

なお、弊社で想定している文字コード変換問題は、以下の通りです。

  o 「〜」が文字化けする。

     - WAVE DASH vs FULLWIDTH TILDE 問題。
     - cp932/eucJP-ms と iso-2022-jp との間で文字コード変換が出来ない。

  o sjis と euc-jp 間で相互に文字コード変換が出来ない。

     - US-ASCII と JIS X 0201 ラテン文字 で 0x5C/0x7E の Unicode との
       対応付けが異なる事による問題。

  o 従来変換可能であった機種依存文字 (Windows) が Unicode 化によって変
    換出来なくなった。

     - Windows で JIS X 0208 の未定義領域の13区に定義されている丸付き
       数字が Unicode 化により変換できなくなった。
     - 機種依存文字をシフトJIS、日本語EUC、7ビットJISコードの間で相互
       変換できない。

  o EUC-JP で入出力を行うような Web アプリケーションで機種依存文字が文
    字化けしてしまう場合がある。

     - eucJP-open vs cp51932 (Windows EUC-JP = Codepage 51932)
     - DB (PostgreSQL, MySQL5) の機種依存文字対応EUC-JP と Web ブラウ
       ザ (IE, FireFox 等) が POST する EUC-JP の機種依存文字のコード
       割り当てが異なる為に発生する問題。

これらの問題を解決するためには、次のような要件を満たす必要があると考え
ています。

  (1) 日本語EUC、シフトJIS、7ビットJISコードの 3 つの符号化方式間の相
      互変換で文字化けを起こさないようにする。
  (2) Windows の機種依存文字 (マイクロソフト標準キャラクタセット) を変
      換出来るようにする。
  (3) ソフトウェア間の文字コードの互換性確保。

「オープンソースソフトウェアにおける統一したレガシーエンコーディングの
変換機能の開発」では、次の文字コードを主なオープンソースソフトウェア
(OSS) に実装して使えるようにする事で、上記3要件を満たします。

  o CP932           シフトJIS符号化方式  (Windows Codepage 932)
  o CP51932         日本語EUC符号化方式  (Windows Codepage 51932)
  o eucJP-ms        日本語EUC符号化方式  (TOG/JVC eucJP-open)
  o ISO-2022-JP-MS  7ビットJIS符号化方式 (Windows Codepage 50221+UDC)

本開発では、nkf を含む以下の OSS が作業対象です。

  o GNU libiconv
  o GNU libc
  o Perl(Encode)
  o Python
  o PHP
  o Ruby(NKF)
  o PostgreSQL
  o MySQL
  o nkf

Ruby では、NKF モジュールで、すでに cp932, cp51932, eucJP-ms への対応
が進んでいますので、ISO-2022-JP-MS の追加を行う事になります。

詳細な情報は、http(s)://legacy-encoding.sourceforge.jp/ にて、発信予定
しています。

日本語文字コードの問題を話し合うメーリングリストを作成しましたので、質
問等は、以下のメーリングストへお願いいたします。

  http://lists.sourceforge.jp/mailman/listinfo/legacy-encoding-talk-ja

以上、よろしくお願いいたします。

--
森山 将之 moriyama / miraclelinux.com
ミラクル・リナックス株式会社