1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Erzwingen einer Kodierung beim Verbinden mit einer MySQL-Datenbank
Diese Anleitung hilft Ihnen, Probleme mit Sonderzeichen (Akzente, Emojis usw.) zu lösen, die nicht korrekt angezeigt werden oder als Symbole wie ?? erscheinen, oft aufgrund einer falschen Kodierung bei der Verbindung zu MySQL.
Vorwort
- Standardmäßig verwendet MySQL
UTF-8. - Neuere MySQL-Server sind in der Regel so konfiguriert, dass sie standardmäßig
UTF-8oderUTF-8MB4verwenden.- Dies ist für die meisten Fälle geeignet, insbesondere für internationale Sprachen und Emojis.
- Nehmen Sie auch Kenntnis von dieser anderen Anleitung, um zu lernen, wie Sie Probleme mit der Kodierung von nicht-europäischen Zeichen und Emojis in Ihren Entwicklungen vermeiden können.
Standardmäßige Festlegung des MySQL / MariaDB Zeichensatzes (Cloud-Server)
Mit einem Infomaniak Cloud-Server können Sie den Standardzeichensatz (utf8 oder utf8mb4) festlegen:
- Klicken Sie hier, um auf die Verwaltung Ihres Produkts im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
- Klicken Sie direkt auf den Namen, der dem betreffenden Produkt zugewiesen wurde.
- Klicken Sie in der linken Seitenleiste auf MariaDB.
- Wählen Sie den Standardzeichensatz aus:

- Wenn Sie noch nicht zu MariaDB migriert haben, ist das Prinzip dasselbe.
- Speichern Sie Ihre Änderungen am Ende der Seite.
Erzwingen einer bestimmten Kodierung (latin1 zum Beispiel)
Wenn Sie mit einer Datenbank in latin1 (ISO-8859-1) arbeiten müssen, müssen Sie die Kodierung bei der Verbindung entsprechend Ihrer Umgebung explizit anpassen.
Bei den aktuellen Angeboten fügen Sie den folgenden Code in eine Datei user.ini ein, die sich in der Wurzel Ihres Hostings befindet:
mysql.connect_charset = "latin1"
mysqli.connect_charset = "latin1"
pdo_mysql.connect_charset = "latin1"oder in PHP (MySQL-API):
mysql_query("SET CHARACTER SET latin1");Bei den alten Hosting-Angeboten erzwingen Sie die MySQL-Verbindung in latin1 über die Datei .htaccess, die sich in der Wurzel Ihres Hostings befindet:
php_value mysql.connect_charset latin1
php_value mysqli.connect_charset latin1
php_value pdo_mysql.connect_charset latin1