FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Tjena, ganska ny med php och äntligen fastnat för det.
Men när jag kom till delen mail() i guiden så när jag skickar iväg mailet och läser det får jag inte åäö. Frågan jag har är hur får man så att om du skriver ÅÄÖ åäö i formuläret att visa ÅÄÖ på klient sidan istället för åäö. Html - Index.html Kod:
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <form method="POST" action="contact.php" name="contact"> För/Efternamn:<br /> <input type="text" name="name" /><br /> Email:<br /> <input type="text" name="email" /><br /> Ämne:<br /> <input type="text" name="subject" /><br /> Meddelande:<br /> <textarea name="message" cols="30" rows="10"></textarea><br /> <input type="submit" /> </form> </body> </html> PHP - contact.php Kod:
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <?php $to = "[email protected]"; $name = $_POST["name"]; $email = $_POST["email"]; $subject = $_POST["subject"]; $message = $_POST["message"]; $headers = "MIME-Version: 1.0\r\n"; $headers = "Content-type: text/plain; charset=utf-8\r\n"; $headers = "From: [email protected] \r\n"; if(mail($to, $subject, "Meddelande: $message", $headers)); echo ("<h2>Email successfully sent. Have a nice day!</h2><br /> <p> <b>Namn: </b> $name <br /> <b>Email: </b> $email <br /> <b>Ämne: </b> $subject<br /> <b>Meddelande: </b><br /> $message</p> "); ?> </body> <html> |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
åäö blir det som du tar utf8 åäö och visar dem som Latin1 om jag inte minns fel.
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Du måste koda meddelandet t.ex. som quoted-printable och sätta Content-Transfer-Encoding till det format du använder.
Se tråden: http://www.webmasternetwork.se/f4t29665.html som tar upp samma tema fast baklänges. Även subject, from och to måste mime-kodas om du vill att det ska fungera fullständigt med åäö. Se http://en.wikipedia.org/wiki/MIME Dessutom är det lite väl vågat att bara skicka vidare $_POST utan att alls titta vad det innehåller… (Se exempelvis http://www.tonyspencer.com/2005/12/15/emai...p-contact-form/ som också ger ett tafatt försök att undvika det med eregi) |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Nykomling
|
Citat:
conten transfer encoding?... wh00t, svenska tack:P.. kan nån kopiera min kod och fixa till felet och skicka in den igen vore schysst ![]() |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Banned
|
Ett tips, använd PHPMailer som klass istället när du skickar mail.
http://phpmailer.codeworxtech.com/ |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Nykomling
|
Citat:
Ingen som har koll på hur man får till tecken codning? ![]() |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Du har även en del fel i källkoden, du kan prova detta:
$headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=utf-8\r\n"; $headers .= "Content-Transfer-Encoding: 8bit\r\n"; $headers .= "From: [email protected] \r\n"; |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Klarade millennium-buggen
|
Sätt kodningen på den sida det visas på till utf-8
|
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Nykomling
|
Citat:
![]() simonP, Skall testa ditt tips, återkommer ![]() |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Citat:
![]() ![]() |
||
![]() |
![]() |
Svara |
|
|