Fatto così funziona sia in locale che su internet:

<?php
$nome="prova";
$testo="è+][é*§°çòàù@";
function crea_txt($nome, $testo) {
header("Content-Type:text/plain");
header("Content-Disposition: attachment; filename=".$nome.".txt");
print($testo);
}
crea_txt$nome, $testo);
?>

La parte Charset=ISO-8859-1 va tolta perchè altrimenti online va in errore il server. Se però faccio caricare i dati da mysql, sul mio computer non funziona, mentre online non posso provare (per ora). A questo punto mi sorge il dubbio che ho sbagliato il set di caratteri per il db. Qualcuno mi può dire con certezza quale devo usare? Io attualmente ho utilizzato latin1_general_ci (nel campo Collation).
Grazie