問題はSET NAMES utf8
にあります 指図。 MySQLでは、utf8文字セットは実際にはutf8ではなく、3バイトまでの文字のみをサポートします
問題の文字は4バイトです:
真のutf8は、フィールド自体の文字セットとして使用するutf8mb4です。したがって、SET NAMES utf8mb4
を使用します
したがって、Perlからは、{mysql_enable_utf8mb4 => 1}
を使用する必要があります。 {mysql_enable_utf8 => 1}
の代わりに 。