PHP Griekse tekens in e-mailbericht versturen
24-04-2010 09:00


Voor een opdrachtgever heb ik een website + webwinkel ontwikkelt in het Nederlands, Engels en het Grieks. Dat is natuurlijk niet zo moeilijk tot dat je bij de Griekse taal komt.

Website pagina’s moeten daarvoor een andere charset gebruiken namelijk UTF-8, anders krijg je vreemde tekens. Ook dit was zo opgelost.

Echter het versturen van een e-mail met PHP vormde een probleem. In sommige e-mailprogramma’s zorgde dat voor vreemde tekens. Dit is afhankelijk hoe je programma ingesteld is. Ik heb het getest op Mozilla Thunderbird en daar ging het dus fout.

De oplossing:
Verstuur geen plain text berichten vanuit PHP omdat er dan gekeken wordt naar de standaard instelling van je e-mailprogramma. Verstuur je bericht vanuit PHP als een HTML bericht en stel daar  UTF-8 in als charset. Zo wordt je e-mailprogramma gedwongen die charset te gebruiken en worden Griekse tekens juist getoond.

Voorbeeld:
<?php
$bericht = ‘Je bericht met Griekse tekens.’;
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= "To: <$email_ontvanger> \r\n";
$headers .= "From: $email_webmaster> \r\n";
if(!mail($email_ontvanger, 'onderwerp', $bericht, $headers)){
echo 'Bericht niet niet verstuurd.';
}else{
echo 'Bericht verstuurd.';
}
?>



.:Terug:.

Laatst bijgewerkt op: 21-03-2012
 
Gemaakt door: Tim de Hoog