Devo leggere i dati da una tabella ordini di mysql e creare un file di testo con questi dati. Riporto sotto lo script che esegue questa opreazione. Il tutto funziona bene tranne quando ci sono caratteri particolari. Esempio se una ditta si chiama T&T spa il file di testo che viene creato riporta i seguenti valori T& AMP ;T . (questo succede anche con altri caratteri). C'è un modo per risolvere l'inconveniente?
Grazie per l'attenzione.

<?php
//parametri di connessione
$dbHost="xxxxx";
$dbPassword="xxxx";
$dbUsername="xxxx";
$dbName="xxxxx";

//connettiti al server database
$dbcn=@mysql_connect($dbHost, $dbUsername, $dbPassword);
if (!$dbcn) {
echo 'Connessione al dadabase non riuscita';
exit();
}

//seleziona il data base
if (!@mysql_select_db($dbName, $dbcn)){
echo $dbName .' Data base inesistente';
exit();
}
$fp = fopen('ordini.txt','w');

$q ='select * from orders where status<>6';
$query = mysql_query($q);
while ($row = mysql_fetch_array($query)) {
$orderTotal=$row[goodsTotal]+$row[shippingTotal]+$row[taxTotal]-$row[discountTotal]-$row[giftCertTotal];
$NumOrder=$row[orderID]+20000; //20000 è l'offset che ho impostato per gli ordini (cioè parti dall'ordine 20000
$nextline =$NumOrder .'|'.$row[deliveryName].'|'.$row[deliveryAddress1].'|'.$row[deliveryAddress2].'|'.$row[deliveryPostcode].'|'.$row[deliveryTown].'|'.$row[deliveryCounty].'|'.$row[telephone].'|'.$orderTotal.'|'.$row[email].'|'.$row[paymentName].'|'.$row[e_note].'|'."\r\n";
fwrite($fp,$nextline);
$indice=$indice+1;
}
fclose($fp);
echo 'Esportati '. $indice . ' ordini';
?>