En la BD va bien, al enviar una variable se hace codificada, osea que lo recojo normal.
He probado a codificar, se imprime mal cuando se envía por form (doble codificación) y bien cuando se cambia la url (única codificación)
También utf8_encode(utf8_decode($_GET['b']));
Y en vez de salir la interrogación de fondo negro, sale la interrogación normal cuando se cambia la url (por form bien).
La única manera que se me ocurre es volver a ISO, qué hará google