mb_http_input()
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
检测 HTTP 输入字符编码
说明
mb_http_input([string $type= ""]): mixed
检测 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()
设置/获取字符编码的检测顺序
"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
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.