(PHP 4 >= 4.0.6, PHP 5)
mb_http_input — Detect HTTP input character encoding
Detects the HTTP input character encoding.
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.
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.