Ho dei problemi con la codifica dei caratteri speciali tipo āčō etccc...

Il database tabelle e campi sono settati utf8_general_ci
a seguire il codice che uso per inviare i dati a database e a clienti.

Codice PHP:
<?php



$email 
htmlspecialchars(trim ($_POST['email']));//impostazione email cliente
session_start();
$_SESSION['mail']=$email;//imposta email per invio allegato
$nome htmlspecialchars(trim ($_POST['element_1']));//nome
$via htmlspecialchars(trim ($_POST['element_2']));//via
$cap htmlspecialchars(trim ($_POST['element_4']));//cap
$citt htmlspecialchars(trim ($_POST['element_5']));//cittā
$provincia htmlspecialchars(trim ($_POST['element_6']));//provincia
$piva htmlspecialchars(trim ($_POST['element_7']));//p.iva
$telefono htmlspecialchars(trim ($_POST['element_8']));//telefono
$pagamento htmlspecialchars(trim ($_POST['element_10']));//pagamento |1-bonifico|2-paypal|3-Contrassegno
$note htmlspecialchars(trim ($_POST['element_9']));//note lavoro
$referente htmlspecialchars(trim ($_POST['element_12']));//nome
$via2 htmlspecialchars(trim ($_POST['element_13']));//nome
$cap2 htmlspecialchars(trim ($_POST['element_14']));//cap
$citt2 htmlspecialchars(trim ($_POST['element_15']));//cittā
$provincia2 htmlspecialchars(trim ($_POST['element_16']));//provincia
$stato htmlspecialchars(trim ('IN CODA'));//provincia

$numero_ordine=time();//imposta il numero dell'ordine - da non passare al database
$data=date('d-m-y'$numero_ordine);//imposta la data


# controllo campi compilati
if (( $email == "" ) || ( $via == "" ) || ( $citt == "" ) || ( $provincia == "" ) || ( $piva == "" ) || ( $telefono == "" ) || ( $nome == "" ) || ( $pagamento == "" )) {
echo 
'<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%;"> Errore!</p><br>Devi compilare correttamente tutti i campi richiesti!<br>
<a href="javascript:history.go(-1);">Torna indietro</a>'
;
exit;
}

# controllo campo telefono compilato con numeri
if (!is_numeric($telefono)) {
echo 
'<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%;">  Errore!</p><br>Devi inserire il tuo numero di telefono corretto!<br>
<a href="javascript:history.go(-1);">Torna indietro</a>'
;
exit;
}

# controllo campo email - email valida
if (!ereg("@",$email)){
echo 
'<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%;">  Errore!</p><br>Devi inserire una email valida!<br>
La preghiamo di <a href="javascript:history.go(-1);">Torna indietro</a>'
;
exit;
}

# controllo se piva o codice fiscale

   
if (is_numeric($piva))

{
$pivaok=$piva;
        
    } else {
    
$codfisc=$piva;   
    }

# inserisco i dati nel database


require 'config.php';

// richiamo lo script responsabile della connessione a MySQL
require 'connect.php';

// preparo la query
$query "

INSERT INTO 
  ordini
SET 

email = '
$email',
nome = '
$nome',
via = '
$via',
cap = '
$cap',
citt = '
$citt',
provincia = '
$provincia',
pivaok = '
$pivaok',
codfisc ='
$codfisc',
telefono = '
$telefono',
pagamento = '
$pagamento',
note = '
$note',
referente = '
$referente',
via2 = '
$via2',
cap2 = '
$cap2',
citt2 = '
$citt2',
provincia2 = '
$provincia2',
stato = '
$stato',
data= '
$data'







// lancio la query
$result = mysql_query($query);

// controllo l'esito
if (!
$result) {
    die("
Errore nella query $query" . mysql_error());
}

// chiudo la connessione a MySQL
mysql_close();


# ricavo n°ordine

require 'config.php';

// richiamo lo script responsabile della connessione a MySQL
require 'connect.php';

// preparo la query

$ricevuta = mysql_query("SELECT id_ordineemail FROM ordini WHERE `email` ='$email' ORDER BY id_ordine DESC;  ");

$row = mysql_fetch_row($ricevuta);    



//controllo risultato 


$numero_ordine=$row[0];
$numeroordine=$numero_ordine;

// chiudo la connessione a MySQL
mysql_close();























//imposta il testo dell'email!
$message = html_entity_decode(stripslashes("Ordine inviato da$email<br><br

<
strong>DATI FATTURAZIONE E SPEDIZIONE</strong><br><br>

<
strong>Data</strong>    $data<br>
<
strong>N°ordine</strong>    $numeroordine<br>
<
strong>NomeCognome o ditta</strong>    $nome<br>    
<
strong>Via e n° civico</strong>    $via<br>
<
strong>C.A.P.</strong>    $cap<br>
<
strong>Cittā</strong>    $citt<br>
<
strong>Provincia</strong>    $provincia<br>    
<
strong>PIVA</strong>    $pivaok<br>
<
strong>Codice fiscale</strong>    $codfisc<br>
<
strong>E-mail</strong>    $email<br>
<
strong>Telefono</strong>    $telefono<br>    
<
strong>Pagamento scelto</strong>    $pagamento<br>    
<
strong>Referente consegna lavoro</strong>    $referente<br>    
<
strong>Via e n° civico</strong>    $via2<br>
<
strong>C.A.P.</strong>    $cap2<br>
<
strong>Cittā</strong>    $citt2<br>
<
strong>Provincia</strong>    $provincia2<br>
<
strong>Note su lavoro e consegna</strong>    $note"));

require("
../phpmailer/class.phpmailer.php");

$mail = new PHPMailer();
//manca del codice perchč ho cancellato i dati personali e login comunque non č qui il problema!
$mail->AddAddress($email1,$name);
$mail->AddAddress($email,$nome);
$mail->AddReplyTo($email1,"manifestiindigitale");
$mail->WordWrap = 50; // Caratteri prima di andare a capo


$mail->Subject = "Invio dati ordine";
$mail->Body = $message ;//HTML Body
$mail->AltBody = "This is the body when user views in plain text format"; //Text Body
$mail->CharSet = "UTF-8";
header("
Refresh1url=http://www..........etccc.....");
if(!$mail->Send())
{
echo 
"Mailer Error: " $mail->ErrorInfo;
}
else
{
echo 
'<div style="width:500px;margin:150px auto; font-family: Lucida Grande,Tahoma,Arial,Verdana,sans-serif;"> <p style="font-size: 160%; ">Dati inviati correttamente</p>Attendi...</div>';
}
$email->SmtpClose();
?>

Come posso risolvere?
Grazie,
Stefano