Try using SET NAMES utf8
after connecting to MySQL:
$db1 = new db_mysql($conf['db_hostname'], $conf['db_username'],
$conf['db_password'], $conf['db_name']);
$db1->query("SET NAMES utf8");
As the manual says:
SET NAMES indicates what character set the client will use to send SQL statements to the server... It also specifies the character set that the server should use for sending results back to the client.