"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
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_http_input — Detect HTTP input character encoding
type
Input string specifies the input type. "G" for GET, "P" for POST, "C" for COOKIE, "S" for string, "L" for list, and "I" for the whole list (will return array). If type is omitted, it returns the last input type processed.
The character encoding name, as per the type
.
If mb_http_input() does not process specified
HTTP input, it returns FALSE
.
"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.