Ich korrigiere mich:
Wenn es nur um die HTML-Ausgabe geht: Sorge dafür, dass die jeweilige Seite die genutzte Zeichentabelle ausspuckt (etwa mit 'header("Content-Type: text/html; charset=iso-8859-1");' ) und gib die Daten direkt aus, ohne Verwendung von htmlentities().
Das funktioniert so nicht. Werden die Daten direkt ausgegeben, kann man HTML-Code einschmuggeln, der ungeprüft in den Seiten landet. Eine Absicherung mittels htmlspecialchars() hilft auch nicht, da dann das einleitende Und der &-Sequenzen ebenfalls "entschärft" wird und statt des Zeichens wieder der Text ę im Browser zu sehen ist. Die alleinige Ersetzung von < und > durch < und > hilft ebenfalls nicht, da dann die tatsächlichen Unds ("Otto & Karl") nicht umgesetzt werden.
Mach' also Nägel mit Köpfen und konvertiere die Daten direkt in der Datenbank (sowie bei der Verarbeitung von Formulareingaben) in utf-8.