Originariamente inviato da skidx
hai provato a scriverli in modalità binaria?
(dando l'opzione 'b' all'fopen)

Comunque cosa intendi per "viene un macello?"
Sei sicuro che i dati vengano scritti sbagliati o forse quando riapri il file scritto da php lo leggi con il charset sbagliato?
Ti ringrazio per la sollecita risposta.

1. Sì ho provato anche in modo wb;
2. la funzione è qs:

Codice PHP:
function includi_glossario($lingua1,$lingua2,$cartella_di_lavoro,$db_conn)
    {
    if (!
$export export_mm_glossario($lingua1,$lingua2,$db_conn)) echo "Esportazione glossario.txt non riuscita 
"
;

    
// Salvo il file.
    
if (!$fp = @fopen($cartella_di_lavoro."/glossario.txt","w")) echo "Esportazione glossario.txt non riuscita 
"
;
        @
fwrite($fp,utf8_encode($export));
    @
fclose($fp);

    return 
true;
    } 
Allora: se faccio un echo di $export il risultato è come atteso (codifica pagina browser: UTF-8).
Se invece lo salvo, ottengo che:
a. viene visto dal sistema (Linux e Win) come UTF-8
b. ma i caratteri sono cannati completamente.