Problemet er med SET NAMES utf8
kommando. I MySQL er utf8-tegnsættet ikke rigtig utf8, det er understøtter kun tegn op til 3 bytes
og det pågældende tegn har 4 bytes:
Den sande utf8 er den utf8mb4, som du bruger som tegnsæt i selve feltet. Så brug SET NAMES utf8mb4
Så fra Perl skal du bruge {mysql_enable_utf8mb4 => 1}
i stedet for {mysql_enable_utf8 => 1}
.