[PHP-users 12769] Re: URLエンコードされた文字列に対する処理

Naoto Arai php-users@php.gr.jp
Thu, 23 Jan 2003 19:11:37 +0900


森本様、返信ありがとうございます。


説明がわかりにくくて申し訳ありません。
どうやら問題を取り違えていらっしゃるようです。


PHPに値が渡った時点で、既に「%24」という値が
「$」になってしまっているので、
プログラム内で HtmlSpecialChars() を使う以前の問題なのです。




フォーム:入力文字列「%24」
 ↓
ブラウザがURLエンコードして送信:送信文字列「%2524」
 ↓
PHP受け取り:RAW_DATA「%2524」
 ↓
グローバル変数に登録
恐らくここで謎な処理が発生。
本来なら_POSTにデコードされた「%24」が入るはずだが、
なぜか「$」になる。(2重でデコード処理がされている?)



これが、PHP 4.2.3のバグなのか、
ただの設定ミスで、特定の設定項目を修正すれば直るのか、
それともConfigureしなおす必要があるのか、
情報をお持ちの方、何卒よろしくお願いします。




> こんばんは、森元です。
> 
> たぶん下で解決できるのでは?
> http://php3.info/manual/ja/print/function.htmlspecialchars.php