[pgsql-jp: 35201] Re: IBM拡張文字の扱いについて

MORIYAMA Masayuki msyk @ mtg.biglobe.ne.jp
2005年 4月 7日 (木) 18:45:35 JST


森山です。

On Thu, 7 Apr 2005 16:21:31 +0900
"kk" <noritamag @ hotmail.com> wrote:

> HTML の文字コードは EUC-JP としており、変更は無理
> かと思われます。
> よって別の方向から解決策を考えたいと思います。

誤解させてしまったかもしれませんが、PHP で DB の内容をブラウザで表示さ
せる場合の文字コードとして EUC-JP は不可であるという意味です。

PHP で HTML ファイルを読み込んで文字コード変換して出力している場合は、
最終的にブラウザで表示する文字コードがシフトJISエンコーディングになっ
ていれば問題ないでしょう。

> これは[pgsql-jp: 35193] にある、
> 
> mb_internal_encoding('eucJP-win');
> mb_http_output('SJIS-win');
> 
> の2行をPHPのプログラムに追加すればよい、と考えて
> よろしいのでしょうか?
> (DBの文字コードはEUC_JPです)

申し訳ありませんが、今すぐに確認する事ができないので、それで大丈夫かど
うかはお答えする事が出来ません。
マニュアルを調べて PHP で適切に文字コード変換されるように設定するよう
にしてください。

> それ以前に、HTML の文字コードが EUC-JPという
> 時点で、希望は持てないのですよね ^_^;

その HTML がどのようなものかによると思います。
PHP で文字コード変換して表示させるのなら、最終的にブラウザでシフトJIS
エンコーディング(SJIS-win)になっていれば大丈夫でしょう。

ブラウザに表示させるときの文字コードが EUC-JP ではダメという話だとご理
解ください。

自前で eucJP-open を CP51932 に変換してブラウザに表示させてやれば文字
化けせずに表示させてやる事は可能でしょう。
もしくは、PostgreSQL、PHP で CP51932 扱えるように(文字コード変換できる
ように) 自力で改造(機能追加)してやれば、EUC-JP で統一できるでしょう。
現実問題として、eucJP-open と CP51932 の使い分けを正しくできるのかとい
う事を考えると微妙な所ですが。

‖森山 将之 (MORIYAMA Masayuki)
‖e-mail: msyk @ mtg.biglobe.ne.jp




pgsql-jp メーリングリストの案内