Vấn đề là với SET NAMES utf8
yêu cầu. Trong MySQL, bộ ký tự utf8 không thực sự là utf8, nó chỉ hỗ trợ các ký tự tối đa 3 byte
và ký tự được đề cập có 4 byte:
Utf8 đúng là utf8mb4 mà bạn sử dụng làm bộ ký tự trong chính trường. Vì vậy, hãy sử dụng SET NAMES utf8mb4
Vì vậy, từ Perl, bạn nên sử dụng {mysql_enable_utf8mb4 => 1}
thay vì {mysql_enable_utf8 => 1}
.