Het probleem is met de SET NAMES utf8
opdracht. In MySQL is de utf8-tekenset niet echt utf8, het is ondersteunt alleen tekens tot 3 bytes
en het teken in kwestie heeft 4 bytes:
De echte utf8 is de utf8mb4 die u als tekenset in het veld zelf gebruikt. Gebruik dus SET NAMES utf8mb4
Dus vanuit Perl moet je {mysql_enable_utf8mb4 => 1}
gebruiken in plaats van {mysql_enable_utf8 => 1}
.