Das Problem liegt bei SET NAMES utf8
Befehl. In MySQL ist der utf8-Zeichensatz nicht wirklich utf8, er ist unterstützt nur Zeichen bis 3 Bytes
und das fragliche Zeichen hat 4 Bytes:
Das wahre utf8 ist das utf8mb4, das Sie als Zeichensatz im Feld selbst verwenden. Verwenden Sie also SET NAMES utf8mb4
Von Perl aus sollten Sie also {mysql_enable_utf8mb4 => 1}
verwenden statt {mysql_enable_utf8 => 1}
.