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

mysql:12407

From: MORIYAMA Masayuki <MORIYAMA Masayuki <msyk@xxxxxxxxxx>>
Date: Tue, 8 Nov 2005 22:31:43 +0900
Subject: [mysql 12407] Re: MySQLの eucjpmsと IE の EUC-JP

森山です。

On Tue, 08 Nov 2005 09:10:54 +0900
doumae <doumae@xxxxxxxxxx> wrote:

> > システム構築する際に、ブラウザに表示させる文字コードを EUC-JP にしない
> > ように事を徹底すれば
> 
> 現在 そのように動いているプロダクトは 各々対処しなさいって
> ことですかね?
> #PHPベースだと 現行 ほとんどが euc-jp だと思うのですが

既に出来上がっているプロダクトで、DB が eucjpms、PHP の内部エンコーディ
ングと HTTP入出力が EUC-JP という事で、*なおかつ* Windows 標準キャラク
タセットもサポートする必要があるとなると、慎重に対応策を考える必要があ
るでしょう。

この場合、何が問題になって何が問題とならないと整理しておきます。

(1) ブラウザからアクセスする場合は文字化けは発生しません。
(2) 検索やソートで eucjpms を仮定しているところに、cp51932 なデータが
    入っていると、期待通りの結果が得られないかもしれません。
(3) ブラウザ以外のクライアントから UTF-8 や CP932 で DB にアクセスする
    と、NEC選定IBM拡張文字がユーザー定義文字に化けます。

すでに DB に CP51932 なデータが入っている場合は、eucjpms に変換して格
納しなおす必要がありますが、次のようなスクリプトを利用してブラウザの
CP51932 を eucjpms に変換して DB に格納するようにするという方法で対処
できるかもしれません。(変換内容が正しいかは確認していません)

  PHP-Tips: 漢字コード CP51932 eucJP-win
  http://rimk.tdiary.net/20050507.html

これから開発する場合、Windows標準キャラクタセットをサポートするのであ
れば、今の所、次のいづれかの構成にして CP51932 が使われないようにする
ようにした方が良いだろうと考えています。

  DB(eucjpms) ⇔ PHPスクリプト(EUCJP-win) ⇔ HTTP I/O(SJIS-win)
  DB(CP932)   ⇔ PHPスクリプト(SJIS-win)  ⇔ HTTP I/O(SJIS-win)
  DB(UTF-8)   ⇔ PHPスクリプト(UTF-8)     ⇔ HTTP I/O(SJIS-win)

  ※HTTP I/O を UTF-8 にした場合、WAVE DASH vs FULLWIDTH TILDE などの
    問題にアプリケーション側で対処する必要が出てきます。

今後も EUCベースで開発し HTTP 入出力も EUC、なおかつ Windows標準キャラ
クタセットをサポートする必要があると言うのであれば、次の対応が必要になっ
てくると考えています。

方法1)
  PHP に CP51932 を追加 (PHP で CP51932⇔EUCJP-win 変換する)
    DB(eucjpms) ⇔ PHPスクリプト(EUCJP-win) ⇔ HTTP I/O(CP51932)

方法2)
  DB に CP51932 を追加
    DB(CP51932) ⇔ PHPスクリプト(CP51932)   ⇔ HTTP I/O(CP51932)

※方法2 の場合、PHP も CP51932 に対応していないと、PHP で他の文字コー
  ドに変換する際に文字化けが発生します。また、PHPスクリプトで日本語ファ
  イル名を扱う場合は、他のソフトでは日本語ファイル名を eucJP-ms として
  扱っている場合があるので気をつける必要があります。

理論上は、方法1 で十分なのですが、現実的には、方法2 を期待している人が
多いのではないかという気がしています。(今までのスタイルを変えなくて済
むので)

必要であれば、PHP、MySQL などに対して CP51932 の追加実装することを
考えています。
必要性の無いものを実装しても意味がありませんけれども、どうなんでしょう。

-- 
森山将之 (MORIYAMA Masayuki)
e-mail: msyk@xxxxxxxxxx
blog: http://msyk.at.webry.info/


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

     12362 2005-11-07 00:52 [MORIYAMA Masayuki <m] MySQLの eucjpms  と IE  の EUC-JP       
     12370 2005-11-07 14:06 ┣["Shuichi Tamagawa" <]                                       
     12375 2005-11-07 23:15 ┃┗[MORIYAMA Masayuki <m]                                     
     12379 2005-11-08 09:10 ┃ ┗[doumae <doumae@xxxxx]                                   
->   12407 2005-11-08 22:31 ┃  ┗[MORIYAMA Masayuki <m]                                 
     12371 2005-11-07 14:48 ┗[Yasufumi Kinoshita <]                                       
     12376 2005-11-07 23:15  ┗[MORIYAMA Masayuki <m]                                     
     12389 2005-11-08 15:34   ┗[Yasufumi Kinoshita <]                                   
     12408 2005-11-08 23:51    ┗[MORIYAMA Masayuki <m]