Trotzdem werden alle Sonderzeichen als "Fragezeichen in einer Raute" dargestellt? Woran kann das liegen?
Das scheint jetzt ein Zeichencodierungfehler zu sein.
Diese sollte überall der einfachheit halber UTF-8 sein - deine Dateien/Dokumente, die Datenbankverbindung, die Datenbank selbst und natürlich auch die HTTP-Header die dem Client übermittelt werden.