PHP Griekse tekens in e-mailbericht versturen

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 met Griekse tekens.

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 om Griekse tekens te ondersteunen. Je e-mailprogramma zal gedwongen worden om dat charset te gebruiken.

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.';
}
?>

Reacties zijn gesloten.