Ciao a tutti, ho un form in cui ci sono dei campi obbligatori, se il campo non viene inserito mi da un messaggio tramite questo codice

if($citta === " ")
{
$messaggio = urlencode("Non hai inserito la città");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
exit;
}

per comodità insieme al messaggio di errore ricarico anche il form però in questo caso essendoci la a accentata mi visualizza ovviamente anche la entity à, come devo fare per usare ulrdecode? ho provato ad inserirlo all'header racchiudendovi $messaggio non mi da alcun errore ma mi visualizza tutto il messaggio tranne la a accentata

if($citta === " ")
{
$messaggio = urlencode("Non hai inserito la città");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.urldecode($messaggio));
exit;
}

come posso fare per risolvere?

grazie