Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    27

    Inviare mail in formato utf

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    27

    Re: Inviare mail in formato utf

    Qualcuno ha qualche suggerimento?
    Ciao
    Ho vvinto quacche ccosa? niente? niente ...

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    mmhh provato a passare il messaggio con htmlspecialchars ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    27
    Originariamente inviato da torrone
    mmhh provato a passare il messaggio con htmlspecialchars ?
    La mia esigenza è quella di riuscire a inviare una mail in formato utf (per visualizzare il carattere €) esclusivamente text-plain [...]
    con htmlspecialchars e htmlentities nel messaggio in plain text escono i vari &quellochee;

  5. #5
    Utente di HTML.it L'avatar di lloyd27
    Registrato dal
    Mar 2006
    Messaggi
    256
    Usare la funzione mail direttamente provoca abbastanza grattacapi... Ti consiglio di provare Swift Mailer che gestisce in automatico la codifica in UTF-8.
    Per curiosità, come mai il sito è con codifica Latin/ISO 8859-1? Non è più semplice tenere tutto in UTF-8 e dimenticarsi del problema?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.