Salve a tutti

In breve espongo il mio problema:

Ho creato una chat in php, ho un file input.php che altro non è che la form che invia i dati al Database; la variabile post dell'input di testo (type="text") ha trim e htmlspecialchars. In un'altra pagina (chat.php) ci sono ovviamente le varie condizioni e, infine, stampo il tutto per mezzo di Javascript:

codice:
parent.chat.document.write('<?=$variabile;?>');
var h = 0;
try {h = parent.chat.document.body.offsetHeight + 1000;} catch(e) {h = 0};
parent.chat.scroll (0, h);
Tutto ok, se non fosse che non mi converte i caratteri HTML.. se ad esempio digito le virgolette basse (< >) mi ritrovo per esempio &lt;.. Da sottolineare che questa cosa mi accade solamente nella "chat".

La variabile $variabile contiene:
$variabile=$Testata.$chat;

dove $testata è ovviamente <html><body> e tutto il resto..

Da cosa può dipendere? Sono costretta a utilizzare lo script htmlspecialchars_decode???

Grazie mille, spero di essere stata abbastanza chiara