Php + MySQL (UTF-8) Einige Zeichen sind noch fehlerhaft

Nun habe ich ein PHP-Skript bekommen, das Spitznamen von einer Steam-Web-API nimmt und sie in eine MySQL-Datenbank einfügt. Viele von ihnen haben seltene russische und griechische Schriftzeichen. Ich setze PHP auf UTF-8 in der php.ini und in allen PHP-Dateien mit

mb_internal_encoding('utf-8');

Mein PDO-Anschluss ist für die Verarbeitung von utf8 @ konfigurier

$connection = new PDO('mysql:host=localhost;dbname=d2bd;mysql:charset=utf8mb4', 'root', '');
$connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$connection->setAttribute(PDO::ATTR_PERSISTENT, true);
$connection->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'");

my mysql db ist richtig konfiguriert mit utf8mb4

character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir C:\xampp\mysql\share\charsets\
collation_connection utf8mb4_unicode_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_unicode_ci
completion_type NO_CHAIN
concurrent_insert AUTO
connect_timeout 10
core_file OFF

In wenigen Worten nehme ich die Eingabe der Web-API und codiere sie mit uft8_encode (). Dann füge ich es in die Datenbank ein. Das Problem ist, dass einige Zeichen nicht gut codiert sind und wenn ich sie aus der Datenbank zurückrufe, sind sie alle fehlerhaft.

Beispiel 1

1.Input -> Перуанский чертовски

2.Encode -> ÐеÑÑÐ ° нÑкий ÑеÑÑовÑкÐ

3.In DB einfügen

4.Wählen Sie aus DB -> Ð? еÑÑÑ?? ° нÑкй Ñ? е

5.Decode

6.Output -> ? Е ? ? Анский ? Е ? ? Овск

Beispiel 2:

1.Eingang -> $ | / | 1 ↓ _ € ♥ J

2.Encode -> $ | / | 1 J

3.In DB einfügen

4.Aus DB auswählen -> 1? _? €? J

5.Decode

6.Ausgabe -> 1 ?? _ ? ? J

Antworten auf die Frage(2)

Ihre Antwort auf die Frage