Decodificare i caratteri accentati utf8 per esportare in excel

1 contenuto / 0 new
Decodificare i caratteri accentati utf8 per esportare in excel

Salve, eccomi di nuovo.
Allora un nuovo problema:
Ho creato una pagina privata con all'interno del codice php che mi permette di fare delle query sul database mysql e restituirmi un foglio excel contenente i dati degli utenti registrati nel sito, organizzati come voglio io.
Tutto ok tranne una cosa: i caratteri accentati.
A volte sono presenti dei caratteri accentati nei nomi e cognomi degli utenti, così quando genero il foglio excel questo non si apre perchè vi risultano degli errori, cioè ci sono dei caratteri accentati non decodificati.
Allora ho creato una funzione:
function converti ($text) {
global $res;
$search = array ("à", "è" , "ì" , "ò" , "ù" );
$replace = array ( chr(195).chr(160), chr(195).chr(168) , chr(195).chr(172), chr(195).chr(178) , chr(195).chr(185));
$res = str_replace ($search, $replace , $text);
return $res;
}
che chiamo sui campi nome e cognome, ed accade una cosa molto strana: aggiunta nella pagina per la generazione del foglio excel (con php code attivo) sul mio sito drupal è come se non la leggesse cioè non effettua la conversione, mentre inserito il tutto(generazione foglio excel + funzione) in un file .php su un sito su server windows (dove non utilizzo nessuna piattaforma) il tutto funziona perfettamente, la funzione è corretta e viene effettuata la conversione. Il problema potrebbe essere dato dalla variabile globale? (global $res;)
Come posso correggere? Oppure: avete un modo alternativo per decodificare i caratteri utf8 compresi quelli accentati?
Il database archivia le stringhe in utf8_general_ci, è un database aruba mysql.
Vi ringrazio anticipatamente.