PHPスクリプトを実装しました。
PHPスクリプトを次のURLで実行します:http://server/script.php?param1=%80t%80PHP +文字エンコード+ GETパラメータ
PHPスクリプトにGETパラメータを渡します。
パラメータの名前はparam1です。
param1には、 "%80t%80"というURLエンコード文字列 "€t€"が含まれています。
私のPHPスクリプトは、UTF-8標準でエンコードされています。
$ _GET ["param1"]に含まれる文字列にどの文字エンコーディングが当てはまるのでしょうか。
$ _GET ["param1"]の文字エンコードがUTF-8でないことを確認してください。
理由:私のPHPスクリプトの次のコマンドは、$ _GET ["param1"]の16進表現である "80 74 80"となります。 $ _GET [ "のparam1"]の文字エンコーディングがUTF-8だった場合
var_dump(unpack("H*", $_GET["param1"]));
は、前のPHPのコマンドは、 "E2 82 AC 74 E2 82 AC" につながります。
$ _GET ["param1"]の文字エンコーディングは、ISOシンボルがIS0-8859-1文字セットに含まれていないため、ISO-8859-1ではありません。
ISO-8859-1のエンコーディングテーブルを表示するにはhttp://en.wikipedia.org/wiki/ISO/IEC_8859-1
したがって、mb_internal_encoding関数によって返されるPHP内部エンコーディングは、IS0-8859-1であるため$ _GET ["param1"]には適用されません。
誰かが$ _GET ["param1"]に含まれる文字列に適用される文字エンコーディングを知っていますか?
を使用していますか? – Andreas