[PHP-users 9424] 文字encord設定

php-users@php.gr.jp php-users@php.gr.jp
Wed, 21 Aug 2002 17:40:36 +0900


◆環境・設定
OS FreeBSD
php 4.0.6
PostgreSQL

 './configure' '--with-pgsql' '--without-mysql' '--without-msql'
'--enable-discard-path' '--enable-track-vars' '--enable-mbstring'
'--enable-mbstr-enc-trans' '--with-gd=/usr/local' '--with-jpeg-dir'
'--with-png-dir' '--with-zlib-dir' '--with-xpm-dir=/usr/X11R6'
'--with-ttf=/usr/local/include/freetype'

(phpinfoより抜粋)
mbstring
Multibyte (Japanese) Support enabled
http input encoding translation enabled

Directive Local Value Master Value
mbstring.detect_order   no value no value
mbstring.http_input     no value no value
mbstring.http_output    no value no value
mbstring.internal_encoding   no value no value
mbstring.substitute_character  no value no value
(事情がありphp.iniの変更は不可)

◆疑問点1
HTMLを文字コードEUCで作成し、phpのすくりぷとを埋め込みファイルを作成していま
す。
テーブル内の値を取得し表示させていると同時に、HTMLのformで
<input type="text" name= ・・・>
<textarea name="xxx"></textarea>
を利用しブラウザから入力した文字をpostし処理もしています。
HTMLのMETAタグで言語、エンコードはそれぞれ "ja" 、 EUC_JP です。
PostgresのエンコードはEUCです。
このとき Windows版IE5.5、Netscapeでは文字化けはおきません。
ですが、macOSのIEで<input type="text" name= ・・・>部分に文字を入力したとた
ん
日本語の場合文字化けをおこします。テキストボックスのなかで意味不明の未変換の
文字列が並んだ状態になります。Mac版Netscape4.7ではこの現象はおきません。
なお、表示のみさせた文字は化けてはいません。
対処の方法をご存知の方おられましたらご教授ください。

◆疑問点2
HTMLを文字コードShift-JISで作成し、phpのスクリプトファイルを作成し
HTMLのMETAタグで言語、エンコードはそれぞれ "ja" 、 Shift-JIS
とした場合、テーブルから取得した値をecho関数でブラウザに表示させると文字化け
を
おこします。PostgresのエンコードはEUC。
このような処理は不適切でしょうか?

よろしくお願いいたします。白石