[PHP-users 24123] Re: UTF-8 のデータを hiddun 属性で POST すると、データが EUC-JP になる

Masanori Kobayashi markun @ leo.bekkoame.ne.jp
2005年 1月 13日 (木) 14:47:53 JST


濱井様

みっともない入力ミスご指摘ありがとうございます。
プログラム側ではちゃんとhiddenと記述しております。
それにしても恥ずかしい・・・。

とりあえず解決というかなんと言うか、誤動作しなくなりました。
対策は呼び出し元となるhtmlを出力するスクリプトを動作させるときの内部処理
コードをUTF-8にしました。
呼び出し元スクリプトは単純にUTF-8で記述されたhtmlにデータを埋め込んでUTF
-8で出力するだけだったので、内部処理コードについては特に気にせず動作させ
ていました。

それにしても出力されたUTF-8で記述されたhtmlから呼び出されるスクリプト
が、呼び出し元htmlを生成するスクリプトの内部処理コードに影響されるという
ことが納得いかないこのごろです。

◆誤動作していた状態◆--------------------------------------------------
呼び出し元スクリプトの設定
内部処理コード EUC-JP ← php.iniのデフォルト設定
出力コード   pass
UTF-8で記述したテンプレートに必要な情報を埋め込んで「表示用html」を出力

「表示用html」から呼ばれるスクリプト
内部処理コード UTF-8  ← mb_internal_encoding()で設定
出力コード   pass
UTF-8で記述したテンプレートに必要な情報を埋め込んで「表示用html」を出力
------------------------------------------------------------------------

◆正しく動作する状態◆--------------------------------------------------
呼び出し元スクリプトの設定
内部処理コード UTF-8  ← mb_internal_encoding()で設定
出力コード   pass
UTF-8で記述したテンプレートに必要な情報を埋め込んで「表示用html」を出力

「表示用html」から呼ばれるスクリプト
内部処理コード UTF-8  ← mb_internal_encoding()で設定
出力コード   pass
UTF-8で記述したテンプレートに必要な情報を埋め込んで「表示用html」を出力
------------------------------------------------------------------------

では。

-- 
_/_/ Masanori Kobayashi
_/_/ mailto:markun @ leo.bekkoame.ne.jp
_/_/ mailto:PXK11641 @ nifty.com



PHP-users メーリングリストの案内