It seems to me as if you are using utf-8 encoding (good) but displaying the page as if you were using iso-8859-1. You probably only need to add a content type header before any ouput
<?
# the blank line before the opening php tag <? will cause problems, since a blank line is also output.
# this will tell most browsers that the page is using utf-8 character encoding
header('content-type: text/html; charset=utf-8');
and in the head element of your html code, you will for some browsers also need
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- or for xhtml -->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />