文字

mb_http_input

(PHP 4 >= 4.0.6, PHP 5)

mb_http_input检测 HTTP 输入字符编码

说明

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

检测 HTTP 输入字符的编码。

参数

type

设置的字符串指定了输入类型。 "G" 是 GET,"P" 是 POST,"C" 是 COOKIE,"S" 是 string,"L" 是 list,以及 "I" 是整个列表(将会返回 array )。 如果省略了 type,它将返回最后处理的一种输入类型。

返回值

每个 type 的字符编码名称。 如果 mb_http_input() 没有处理过任何指定的 HTTP 输入,它将返回 FALSE

参见

  • mb_internal_encoding() - 设置/获取内部字符编码
  • mb_http_output() - 设置/获取 HTTP 输出字符编码
  • mb_detect_order() - 设置/获取 字符编码的检测顺序

用户评论:

[#1] Timido [2012-07-27 08:53:43]

"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

[#2] anders jenbo pc dk [2007-10-23 08:00:51]

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.

上一篇: 下一篇: