Powinieneś użyć utf8mb4 dla PDO i struktur Twojej bazy danych.
$dsn='mysql:host=example.com;dbname=testdb;port=3306;charset=utf8mb4';
Jeśli to możliwe, nie zapomnij również ustawić kodowania znaków na swoich stronach. Przykład PHP:
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');