Ciao a tutti.
Ho un sito con codifica Latin1 (pagine e database) e uso la funzione mail() per generare e inviare mail automatiche dal sito. Il problema si pone quando si tratta di form compilati dagli utenti con campi note, in cui talvolta viene inserito il carattere €, che ovviamente viene visualizzato nella mail con un bel punto interrogativo.
La mia esigenza è quella di riuscire a inviare una mail in formato utf (per visualizzare il carattere €) esclusivamente text-plain (fosse stato html avrei risolto) da una pagina con codifica iso-8859-1 e ovviamente con le stringhe che mi arrivano dal form e dal codice php in questo formato.
Al momento uso il seguente codice, semplificato al massimo, che andrebbe modificato per rendere il corpo della mail in formato utf8, non c'è problema per l'oggetto, in quanto è tutto ASCII
codice:
$to = "destinatario@dominio.it\r\n";
$oggetto = "Prova invio messaggio con euro";
$messaggio = "Questo è un messaggio con €";
$intestazioni = "From: mittente@dominio.it\r\n";
$intestazioni = $intestazioni . "MIME-Version: 1.0\r\n";
$intestazioni = $intestazioni . "Content-Type: text/plain; charset=iso-8859-1\r\n";
$intestazioni = $intestazioni . "Content-Transfer-Encoding: 8bit";
$aaa = mail($to, $oggetto, $messaggio, $intestazioni);
Ho provato a convertire $messaggio con la funzione utf8_encode ($messaggio) e a sostituire il charset nell'header con charset=utf8, ma ottengo solo il corpo del messaggio strippato di tutte le lettere accentate, apostrofi, ecc...
Qualcuno ha qualche suggerimento?
Ovviamente non posso convertire la pagina in formato utf, sarebbe troppo facile ...
Grazie
Ciao