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]