The DBD::mysql documentation states that setting mysql_enable_utf8 has only effect for incoming data if it is used as part of the call to connect(). Your snippet $dbh->{mysql_enable_utf8} = 1 indicates that you've set the attribute to an already connected database handle - this is too late.
So either specify the attribute in the call to connect(), or execute the statement SET NAMES utf8.