DBI und die meisten DBD-Module, auch DBD::mysql, können mit UTF-8 nicht umgehen. Hier muss man selbst Hand anlegen und die ein- und ausgehenden Daten händisch per Encode umwandeln.
Beim Postgres-Treiber DBD::Pg gibt es mit pg_enable_utf8 eine experimentelle Option, ein- und ausgehende Daten als UTF-8 zu markieren.