php电子邮件带有奇怪字符的字段

I'm having trouble getting my code in PHP to send out emails to persons with special characters in their names, like é à ö. Here's the snippet of the coding:

$firstname = html_entity_decode(($row[firstname]), ENT_QUOTES | ENT_IGNORE, "UTF-8");
$lastname   = html_entity_decode(($row[lastname]), ENT_QUOTES | ENT_IGNORE, "UTF-8");
$tofirst    = html_entity_decode(($row[firstname]), "UTF-8");
$tolast = html_entity_decode(($row[firstname]), "UTF-8");

$to       = $tofirst .' '.$tolast .' <'. $email .'>';
$subject  = 'Your submission to the X-tension Dancebase';
$headers  = 'MIME-Version: 1.0' . "
";
$headers .= 'Cc: dancers@x-tension.nl, chris@x-tension.nl' . "
";
$headers .= 'Content-type: text/html; charset=UTF-8' . "
";      
$headers .= 'From: X-tension Danceproductions <info@x-tension.nl>' . "
" .
    'Reply-To: info@x-tension.nl' . "
" .
    'X-Mailer: PHP/' . phpversion();


if(mail($to, $subject, $message, $headers)) { 
  echo 'Successfully send an email to: '.$firstname.' '.$lastname.' <'.$email.'><br/>';
} else {
  if ((trim($email)) == "") {
    echo "Please fill out e-mail address and 'save profile' first";
  } else {
    echo 'error in mail script';    
  }
}

The page where the names and email addresses are entered has the encoding set to UTF-8. The database has the coding set to UTF-8. And as you can see, the header of the email message is set to UTF-8.

I've tried it with the htmlentities option while saving the name and without. I've tried it with the html_entity_decode option while retrieving the name and without.

The name is also in the HTML body of the email message and it shows correctly there, but the firstname and lastname in the $to variable, either not appear and the email arrives, or probably appear, when the email does not arrive.

Any help is really appreciated.

Marijn