MudGuard: Charset Angabe bei PDO Verbindung zur Datenbank

Beitrag lesen

Hi,

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“:

Eine Kollation legt mehr fest als nur die Kodierung, da steckt z.B. drin, ob beim Sortieren ein ä wie ein ae behandelt werden soll oder das ä nach z kommen soll usw.

Für die Verbindung ist die Sortierreihenfolge usw. wurscht, da geht es ja nur drum, die Zeichen ohne Verluste zu übertragen.

Darum reicht bei der Verbindung die Kodierung, bei den Spalten/Tabellen braucht's die Kollation.

(so ist zumindest mein Verständnis der Sache)

cu,
Andreas a/k/a MudGuard