Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    caratteri accentati in mail()

    la domanda è stupida, c sono tante discussioni che ne parlano però nessuna delle soluzioni citate in suddette discussioni mi funzionano. Come posso gestire i caratteri accentati inseriti in un campo di testo ed inviati tramite la funzione mail() in modo tale che il client di posta li legga correttamente?

  2. #2
    Utente di HTML.it L'avatar di vikey89
    Registrato dal
    Apr 2009
    Messaggi
    333
    Prova ad aggiungere stripslashes

  3. #3
    Stripslashes non serve a questo.

    Intanto ti consiglierei di utilizzare swiftmailer per inviare la mail.

    Poi ti basterà impostare il charset del contenuto semplicemente così:

    Codice PHP:
      ->setBody($testo'text/html''iso-8859-1'); 

  4. #4
    scusa l'ignoranza... cos'è swiftmailer? dalla sintassi sembra una classe.. ma è integrata in php?
    Mi spieghi velocemente cm funziona?

    grassie :P

  5. #5

  6. #6
    Se non vuoi usare swiftmailer, è sufficiente aggiungere in testa al corpo del messaggio la dicitura:
    Codice PHP:
    Content-Typetext/plaincharset="utf-8" 

  7. #7
    grazie samleo e devil89 tra 5 min provo la sol di devil ma comunque mi faccio una cultura anche su swiftmailer :P

    aaaaah ma negli header!!! avevo capito all'inizio del corpo del testo!!!
    ok funziona

    Codice PHP:
    mail("mail@domain.it",$obj,$bdy,"Content-Type: text/plain; charset=\"utf-8\""); 
    grazie grazie e ancora grazie!!!

  8. #8
    e se invece volessi mandare una mail con del codice HTMl e quindi utilizzare come header questo

    Content-type:text/html;

    che charset si usa ???

    ho provato utf-8 -> al posto delle lettere accentate ottengo quadrati
    ho provato iso-8859-1 -> e al posto delle lettere accentate ottengo lettere con strani simboli ...
    cosa consigliate ???


    io invio cosi la mail :
    $messaggio = " ciao non più però
    "
    $headers = "From:info@miamail.com\r\n";
    $headers .="MIME-Version:1.0\r\n";
    $headers .="Content-type:text/html; charset=iso-8859-1\r\n";
    $email = "destinatario@mail.it";
    $a = mail($email,"Mail per te", $messaggio , $headers);


    grazie Luca

  9. #9
    boh, che il content-type sia text/plain o text/html non dovrebbe influire sul charset... se l'utf-8 comprende i caratteri accentati dovrebbe comprenderli e basta, il content-type credo informi solo il tuo programma di posta circa il modo in cui "decifrare" il contenuto del messaggio...

    però non so, posso sbagliarmi xD

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.