PHP 5.6.0 released

mb_http_input

(PHP 4 >= 4.0.6, PHP 5)

mb_http_inputHTTP 入力文字エンコーディングを検出する

説明

mixed mb_http_input ([ string $type = "" ] )

HTTP 入力文字エンコーディングを検出します。

パラメータ

type

HTTP 入力の型を表す文字列を入力してください。 GET の場合は "G"、POST の場合は "P"、 COOKIE の場合は "C"、文字列の場合は "S" 、 リストの場合は "L" 、リスト全体(array を返す) の場合は "I" です。 type が省略された場合、 直近に処理された入力型が返されます。

返り値

type の文字エンコーディング名を返します。 mb_http_input() が指定した HTTP 入力の処理を行っていない場合、FALSE を返します。

参考

  • mb_internal_encoding() - 内部文字エンコーディングを設定あるいは取得する
  • mb_http_output() - HTTP 出力文字エンコーディングを設定あるいは取得する
  • mb_detect_order() - 文字エンコーディング検出順序を設定あるいは取得する

add a note add a note

User Contributed Notes 2 notes

up
1
Timido
2 years ago
"pass" means "no conversion":

See here:
http://php.net/manual/en/mbstring.configuration.php#ini.mbstring.strict-detection

mbstring.http_input           = pass    ; No conversion.
mbstring.http_output          = pass    ; No conversion
up
1
anders jenbo pc dk
6 years ago
As this does not seam to work (always returns "pass"). you can use

$encoding = mb_detect_encoding(urldecode($REQUEST_URI), 'UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP, ISO-8859-1');

to detect the encoding of the url instead, similare steps could be taken to deteck cookies and post data although it would have to be done for each value.
To Top