Problemet är med SET NAMES utf8
kommando. I MySQL är utf8-teckenuppsättningen inte riktigt utf8, den är stöder endast tecken upp till 3 byte
och tecknet i fråga har 4 byte:
Den sanna utf8 är utf8mb4 som du använder som teckenuppsättning i själva fältet. Så använd SET NAMES utf8mb4
Så från Perl bör du använda {mysql_enable_utf8mb4 => 1}
istället för {mysql_enable_utf8 => 1}
.