mysql:13438
From: MORIYAMA Masayuki <MORIYAMA Masayuki <moriyama@xxxxxxxxxx>>
Date: Fri, 27 Oct 2006 19:43:02 +0900
Subject: [mysql 13438] mysql への CP932 系エンコーディングの追加パッチ
ミラクルリナックスの森山です。 IPA 2005年度下期オープンソースソフトウェア活用基盤整備事業のプロジェク トとして採択された、「オープンソースソフトウェアにおける統一したレガ シーエンコーディングの変換機能の開発」で、作成した、MySQL 5.0.18 の キャラクタエンコーディングに Windows で EUC-JP として使われている CP51932 (Windows Codepage51932) を追加するパッチを公開しました。 パッチファイル: mysql-5.0.18-060814.patch テストフレームワーク: legacy-encoding-0.1.tar.gz ダウンロード: 以下の場所からダウンロードが可能です。 http://sourceforge.jp/projects/legacy-encoding このパッチを適用する事により、次の事が実現されます。 1) MySQL で Windows Codepage 51932 (Windows の日本語EUC) を直接扱える ようになります。 LAMP 環境で、PHP のスクリプトを EUC-JP で記述し、EUC-JP のまま HTTP の入出力を行なう場合、データベースに CP51932 のデータが格納される MySQL の設定 データベースのエンコーディング CP51932 PHP の設定 mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_output = pass mbstring.http_input = pass 2) Windows 上で作成された Unicode とシフトJIS (CP932)、日本語EUC (CP51932、eucJP-ms)、7ビットJIS (ISO-2022-JP-MS) との間で変換可能に なります。 具体的には、次の文字の変換が可能になります。 文字 SJIS EUC Unicode Unicode での コード値 コード値 コード値 文字の名前 ----- -------- -------- --------- ---------------------- ― 0x815C 0xA1BD U+2015 HORIZONTAL BAR 〜 0x8160 0xA1C1 U+FF5E FULLWIDTH TILDE ‖ 0x8161 0xA1C2 U+2225 PARALLELE TO − 0x817C 0xA1DD U+FF0D FULLWIDTH HYPHEN-MINUS ¢ 0x8191 0xA1F1 U+FFE0 FULLWIDTH CENT SIGN £ 0x8192 0xA1F2 U+FFE1 FULLWIDTH POUND SIGN ¬ 0x81CA 0xA2CC U+FFE2 FULLWIDTH NOT SIGN 上記の Unicode 値との変換を行なう為には、次のエンコーディングを用 いる必要があります。 SJIS -> CP932 EUC -> CP51932 もしくは eucJP-ms JIS -> ISO-2022-JP-MS 追加を行なう各エンコーディングの概要は次の通りです。 CP51932 (Windows Codepage 51932) -------------------------------- o Windows で使用されている日本語EUC。 o EUC-JP の JIS X 0212 およびユーザー定義文字には対応していない。 o 機種依存文字のコード割り当てが eucJP-ms とは異なる。 -- 森山 将之 moriyama@xxxxxxxxxx ミラクル・リナックス株式会社