[前][次][番号順一覧][スレッド一覧]

mysql:10639

From: MORIYAMA Masayuki <MORIYAMA Masayuki <msyk@xxxxxxxxxx>>
Date: Thu, 9 Dec 2004 13:05:47 +0900
Subject: [mysql 10639] Re: 新規キャラクタセットの名称

はじめまして、森山と申します。

glibc, libiconv に cp932 修正, eucJP-ms 追加のパッチを作成した者です。

Windows の文字セットの対応を求められている開発者にとっては、MySQL での 
cp932, eucJP-ms 対応は朗報ではないかと思っております。

実装する上で、いくつか注意点を。

(1) ユーザ定義文字

  http://www.microsoft.com/globaldev/reference/dbcs/932.htm
  このマッピングを元にするとの事ですが、これにはユーザ定義文字(0xF040〜
  0xF9FC) が定義されていません。

  cp932, eucJP-ms では、ユーザ定義文字のマッピングは次のようになってい
  ます。

  cp932               Unicode
  0xF040〜0xF9FC      U+E000〜U+E757  (94文字x20区=1880文字)

  eucJP-ms            Unicode
    0xF5A1〜  0xFEFE  U+E000〜U+E3AB  (94文字x10区=940文字)
  0x8F5FA1〜0x8FFEFE  U+E3AC〜U+E757  (94文字x10区=940文字)
                                                ----------
                                                計1880文字

  Unicode とユーザ定義文字・ベンダ定義文字に関する問題点と解決策
  TOG/JVC CDE/Motif 技術検討 WG
  http://www.opengroup.or.jp/jvc/cde/ucs-conv.html

(2) 重複符号化されている文字

  NEC選定IBM拡張文字とIBM拡張文字ののように同じ文字が重複して定義され
  ていものに関して、cp932 → Unicode の変換では、1 つのコードポイント
  に集約されます。

  上記のページにマッピングですと、逆の変換の Unicode → cp932 では、ど
  ちらのコードポイントに変換するのかという事が明確ではありません。

  次のマッピングと同じにする事が望まれます。

  マイクロソフト サポート技術情報 - JP170559
  [PRB] SHIFT - JIS と Unicode 間の変換問題
  http://support.microsoft.com/default.aspx?scid=kb;ja;JP170559
  # FireFox では、レイアウトがくずれるので、Internet Exploer で閲覧し
  # てください。

  Windows-31J の重複符号化文字と Unicode
  http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/uni2sjis.html

(3) eucJP-ms の変換

  TOG/JVC の変換表だけでは、Unicode → eucJP-ms の変換を一意に決めるこ
  とが出来ません。

  glibc, libiconv のパッチでの eucJP-ms の変換は、次のページにまとめて
  ありますので参考にしてください。
  http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html

(4) Windowsの日本語EUCと eucJP-ms

  Windowsの日本語EUC は、Microsoft Windows Codepage 51932 というものな
  のですが、これは一部、eucJP-ms とは互換性がありません。

  LAMP(Linux,Apache,MySQL,PHP)環境のように Web ブラウザから受け取った
  日本語を DB に格納する場合、HTML の文字コードに、eucJP-ms を使ってし
  まうと、文字コード変換で文字化けが発生するので注意が必要となります。

  具体的な違いは次の通りです。

    ※印がついている所が、Codepage 51932 と eucJP-ms とでバッティング
    しています。Codepage 51932 の NEC選定IBM拡張文字 のコード領域が 
    eucJP-ms では、ユーザ定義文字(1) となってしまいます。CP932 や 
    UTF-8 などに変換する際に問題になるでしょう。

                                            eucJP-ms Codepage 51932
    NEC特殊文字           0xADA1〜  0xADFC     ○         ○       
  ※NEC選定IBM拡張文字    0xF9A1〜  0xFCFE     ×         ○       
    IBM拡張文字(1)      0x8FA1A1〜0x8FEDFE     ○         ×       
    IBM拡張文字(2)      0x8FF3F3〜0x8FF4FE     ○         ×       
  ※ユーザ定義文字(1)     0xF5A1〜  0xFEFE     ○         ×       
    ユーザ定義文字(2)   0x8FF5A1〜0x8FFEFE     ○         ×       

    IBM拡張文字(1) : JIS X 0212 に定義されている文字
    IBM拡張文字(2) : JIS X 0212 に定義されていない文字

‖森山 将之 (MORIYAMA Masayuki)
‖e-mail: msyk@xxxxxxxxxx
‖Web: http://www2d.biglobe.ne.jp/~msyk/


[前][次][番号順一覧][スレッド一覧]

     10615 2004-12-07 16:41 ["Shuichi Tamagawa" <] 新規キャラクタセットの名称              
     10617 2004-12-08 10:28 ┗[EBIHARA Yuichiro <ui]                                       
     10625 2004-12-08 14:16  ┣[SATOH Fumiyasu <fumi]                                     
     10635 2004-12-09 01:49  ┃┗[EBIHARA Yuichiro <ui]                                   
     10636 2004-12-09 07:02  ┗[Shuichi Tamagawa <sh]                                     
->   10639 2004-12-09 13:05   ┗[MORIYAMA Masayuki <m]                                   
     10640 2004-12-09 15:52    ┗["Shuichi Tamagawa" <]                                 
     10641 2004-12-10 01:20     ┗[MORIYAMA Masayuki <m]                               
     10643 2004-12-10 09:38      ┗[Shuichi Tamagawa <sh]