Eftersom du anger att mailet är utf8 format så får du också se till så att åäö är i utf8 format.
Titta på denna functionen: http://se.php.net/manual/en/function.utf8-encode.php
3 svar · 276 visningar · startad av überfuzz
Jag har ett formulär som låter användaren skicka iväg ett mejl till en bestämd @dress. Allt verkar frid och fröjd. Det verkar som att alla headers kommer med, men åäö funkar inte. Det i sin tur får mig att misstänka min $headers = 'Content-type: text/html; charset=utf-8\r\n'; Är det något fel på den?
if(!$error)
{
$msg = "Name: \t $name \r\n";
$msg = "E-mail: \t $email \r\n";
$msg = "Message: \n $message \r\n";
$headers = "MIME-Version: 1.0\r\n";
$headers = 'Content-type: text/html; charset=utf-8\r\n';
$headers = "X-Priority: 1\r\n";
$headers = "X-MSMail-Priority: High\r\n";
$headers = "X-Mailer: php\r\n";
$headers = "From: $name <$email>\r\n";
$headers = "Reply-to: $name <$email>\r\n";
$headers = "Return-path: $name <$email>\r\n";
mail($to, $subject ,stripslashes($msg), $headers);
}
Eftersom du anger att mailet är utf8 format så får du också se till så att åäö är i utf8 format.
Titta på denna functionen: http://se.php.net/manual/en/function.utf8-encode.php
Mhmm, kan jag köra utf8_encode ( ) på strängarna jag skickar med $avs $meddelande osv ? Jag är inte så bra på php att jag intuitivt vet hur lösningen ska se ut. Är följande ok om jag i <form> har en <input> jag döpt till text.
$text = $_POST['text'];
$text = utf8_encode ($text);
Har $text formen utf8 nu? Vidare hur kan jag kontrollera mina variablers encoding?
Jag har kommit en liten bit på vägen, men nu körde jag fast igen.
Jag får $subject från input name="subject" I samband med att jag plockar ut den till $subject gör jag följande:
$subject = $_POST['subject'];
mb_convert_encoding($subject, "UTF-8", "auto");
echo mb_detect_encoding($subject);
echo blir UTF-8, men jag får ändå konstiga krumilurer i stället för åäö som skickas med formtomail funktionen.