Onkel Hans: Charset Angabe bei PDO Verbindung zur Datenbank

Beitrag lesen

Hallo!

Meine PHP-Skripte greifen via PDO auf meine SQL Datenbanken zu. Bei meinen Datenbank-Tabellen stelle ich bei Kollation immer „utf8mb4_unicode_ci“ ein. Auch jede Datenbank selbst ist auf „utf8mb4_unicode_ci“ eingestellt.

Nun ist mir gerade aufgefallen, dass ich bei der PDO-Verbindung als Charset immer nur „utf8mb4“ angebe und nicht „utf8mb4_unicode_ci“:

$dsn = "mysql:host=$host; dbname=$db; charset=utf8mb4"

Ich hatte noch nie irgendein Problem mit Charsets, falschen Zeichen oder irgendwas in diese Richtung. Aber nachdem ich kein Experte bin, möchte gerne wissen und sicherstellen, ob das eh OK ist so … oder soll ich dann bei der PDO Verbindung als Charsetangabe auch unbedingt „utf8mb4_unicode_ci“ mit auf den Weg geben?

Oder anders gefragt: Wenn die Angabe von „utf8mb4“ reicht, wieso muss man dann nicht explizit die unicode_ci Variante angaben?

Wie gesagt, ich habe kein Problem, ich möchte mich nur fortbilden und besser verstehen, was ich tue.

Danke im Voraus!

Onkel Hans