Folgende Einstellungen müssen beachtet werden, damit die Anzeige von Umlauten (ä, ö, ü, …) im Zusammenspiel von HTML, PHP und MySQL funktioniert.
Am besten verwendet man UTF-8, bzw. UTF-8-MB4.
Es ist wichtig, dass der Editor zur Bearbeitung und Erstellung der HTML- bzw. PHP-Dateien die richtige Zeichenkodierung eingestellt hat. Im Falle von Notepad++ sieht dies so aus:
Im Kopf der HTML- bzw. PHP-Datei (also zwischen den <head>-Tags wird ein Meta-Tag angegeben, der sich auf die Zeichenkodierung bezieht:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Legt man in phpMyAdmin eine neue Datenbank an, so achtet man darauf, diese gleich mit dem richtigen Zeichensatz (utf8mb4_general_ci) zu erstellen. utf8mbf unterstützt auch Zeichen, die außerhalb des sogenannten „Basic Multilingual Plane“ liegen, zum Beispiel auch Emojis oder Symbole.
Möchte man die Zeichensatzeinstellung ändern, kann man in phpMyAdmin unter „Operationen“ - „Kollation“ durchführen:
Die einzelnen Tabellen sollen ebenfalls unter „Kollation“ die Einstellung utf8mb4_general_ci haben, damit auch bei den Tabellen der richtige Zeichensatz gewährleistet ist.
Sobald die Verbindung zur Datenbank aufgenommen wurde, soll auch der Zeichensatz für die MySQL-Zugriffsanfragen an die Datenbank auf utf8mb4 festgelegt werden.
Der Befehl dazu lautet wie folgt, wobei $con die Variable der mysqli_connect-Verbindung ist:
mysqli_set_charset($con, "utf8mb4");
<?php $hostname = "127.0.0.1"; $user = "root"; $passwort = ""; $dbname = "db_wordpress"; $con = mysqli_connect($hostname,$user,$passwort) or die ("Sql- Verbindung konnte nicht aufgenommen werden."); mysqli_set_charset($con, "utf8mb4"); mysqli_select_db($con, $dbname) or die ("Datenbank kann nicht geöffnet werden."); ?>