Niestety - ale apache w tym przypadku wysyła header, który narzuca inne kodowanie niż to, które jest zapisane w sekcji head strony.
Aby rozwiazać ten problem, bez modyfikacji ustawień serwera, wystarczy wysłać samodzielnie header o treści typu
<?php
header( 'Content-Type: text/html; charset=utf-8' );
?>
Oczywiście przed całą zawartością strony (przed headerami nie może być wysłana nawet spacja..)