Are you fetching the data from MySQL as UTF-8? If not,it might be double-encoded already in that step before passing it to the PDF generator?
Have you tried?
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_set_charset('utf8',$link);
Edit: Oh sorry, I misunderstood. BUT, beware, the content in the DB might be utf-8 encoded or encoded in any other format no matter what you have set the database to supposedly contain.
Can you show us exactly what characters you get at the various steps?
Edit2:
I downloaded: http://www.ros.co.nz/pdf/downloads.php?f=pdfClassesAndFonts_009e.zip from http://www.ros.co.nz/pdf/
and run this script in the same dir I unpacked the zip:
<?php
include 'class.ezpdf.php';
$pdf = new Cezpdf('a4','portrait');
$pdf->ezText("\xf6\n",0,array('justification'=>'centre'));
$pdf->ezStream();
?>
and get a proper ö in the document at least.
if like you said the detected encoding is utf-8, try wrapping a utf8_decode around it:
<?php
include 'class.ezpdf.php';
$pdf = new Cezpdf('a4','portrait');
$pdf->ezText(utf8_decode("\xc3\xb6\n"),0,array('justification'=>'centre'));
$pdf->ezStream();
?>
If it still doesn't work, maybe you have an older version of ezpdf? It seems they did had to add some fixes for non-ascii characters throughout the times, although long ago.