quel meta tag è per il browser, io ti dico proprio il file php è salvato in formato UTF-8
ora, anche se non c'è nessun'impedimento nell'usare un UTF-8 in file php, personalmente preferisco evitare perché potrebbero sorgere altri problemi
per fare il lavoro che ti serve a te, basterebbe una preg del tipo
Codice PHP:
function stringa($stringa)
{
$stringa = str_replace(array('à', 'è', 'ò', 'ì', 'ù'), array('a', 'e', 'o', 'i', 'u'), trim(utf8_decode($stringa)));
$stringa = preg_replace('/[^A-Z0-9_]/i', '_', $stringa);
$stringa = preg_replace('/_+/i', '_', $stringa);
return $stringa;
}
Il primo str_replace accomuna tutto, il secondo preg_replace fa saltare tutto quello che non è lettera ed il terzo elimina le ripetizioni di _ (ps, preferisco però usare il - al posto di _)
PS: ovviamente il file va codificato non UTF-8 se si mette l'utf8_decode ^^