Ya lo solucioné!
Código PHP:
$b = $_GET['b']
$b2 = str_replace("?","",$b); //quito las interrogaciones de $b
$b2 = utf8_encode(utf8_decode($b2));
//lo decodifico y codifico para cambiar la interrogación de fondo negro por la normal
if (strpos($b2, "?") !== false) { $b = utf8_encode($b); }
//si hay una interroación después de codificar es que se ha cambiado la url, la variable no está codificada, así que hazlo
O más simple:
Código PHP:
$b = $_GET['b']
if (strpos(utf8_encode(utf8_decode(str_replace("?","",$b))), "?") !== false) { $b = utf8_encode($b); }