se ti tira fuori tutti quei simboli vuol dire che il file lo legge, prova a fare un controllo di questo genere prima di settare l'header:
non è una soluzione, ma capisci se hai già dato un output nella pagina, se cosi è il content type del documento è già settato ad html, e quindi come dici tu vedi il pdf come se fosse aperto dal blocco note.codice:if(header_sent()) { echo "SPIACENTE, HAI GIA DATO UN OUTPUT SULLA PAGINA"; } else { header.... }
Per usare queste funzioni devi essere sicuro di non aver scritto nulla nella pagina (che ne so ad esempio la testata del tuo sito..).
ciao