1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Beheben Sie Probleme mit der Seitenkodierung
Dieser Leitfaden richtet sich an Sie, wenn Sie Probleme mit der Seitenkodierung haben und seltsame Zeichen auf Ihren Seiten erscheinen.
Universelle Kodierung
Wenn Sie Probleme mit der Seitenkodierung haben, ist es wichtig zu überprüfen, ob Ihre Seitenkodierung auf UTF-8 eingestellt ist . UTF-8 ist eine universelle Kodierung, die die meisten weltweit verwendeten Zeichen unterstützt. Einige Dateien enthalten möglicherweise Zeichen, die mit der UTF-8-Kodierung nicht kompatibel sind. In diesem Fall müssen Sie sie mit einem geeigneten Texteditor in UTF-8 konvertieren.
Wennbeispielsweise die Codierung der HTML-Seite in UTF8 erfolgt, während
die Datenbank in Latin-1 vorliegt, werden die Akzente von MySQL nicht
korrekt interpretiert. Wenn
die Seiten Sonderzeichen (arabische, chinesische Texte, Akzente)
enthalten, werden sie möglicherweise auf Ihrer Website korrekt
angezeigt, jedoch nicht in phpMyAdmin, oder umgekehrt ...
Verwenden Sie einen Texteditor, der Ihre Dateien in UTF8 speichern kann. Wenn Sie Textdateien mit darin enthaltenem SQL-Code importieren, müssen Sie diese mit einer Software bearbeiten, die in UTF8 speichert.
UTF8 in PHP
Um Site-Header mithilfe von PHP in UTF-8 zu erzwingen, können Sie die Funktion header()
mit dem Parameter verwenden Content-Type
. Hier ist ein Beispielcode, mit dem Sie die Zeichenkodierung auf UTF-8 erzwingen können:
header('Content-Type: text/html; charset=utf-8');
?>
UTF8 über .htaccess
Um die Zeichenkodierung in UTF-8 über die .htaccess-Datei Ihrer Website zu erzwingen, fügen Sie für HTML-Inhalt Folgendes hinzu:
AddDefaultCharset utf-8
Header set Content-Type "text/html; charset=utf-8"
und für PHP-Inhalte hinzufügen:
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-8
UTF8 zu HTML
Um die UTF-8-Zeichenkodierung im HTML-Code anzugeben, können Sie das Meta-Tag verwenden charset
:
Stellen Sie außerdem sicher, dass alle auf Ihrer Website verwendeten Dateien, wie z. B. CSS-Stildateien und JavaScript-Skripte, ebenfalls UTF-8-codiert sind. Dadurch wird sichergestellt, dass alle Zeichen auf Ihrer Website korrekt angezeigt werden.
UTF8 in der Datenbank
Um die Datenbank- und Tabellenkodierung in phpMyAdmin als UTF-8 (erneut) zu deklarieren, können Sie die folgenden Schritte ausführen:
- Melden Sie sich bei Ihrem phpMyAdmin-Kontrollfeld an
- Klicken Sie oben auf die Registerkarte „Operationen“.
- Suchen Sie im Abschnitt „Tabellenoptionen“ die Zeile „Sortierung“ und klicken Sie auf die Dropdown-Schaltfläche
- Wählen Sie beispielsweise eine Sortierungsoption aus, die die UTF-8-Kodierung verwendet
utf8_general_ci
- Klicken Sie unten auf der Seite auf die Schaltfläche „Ausführen“, um die Änderungen zu speichern
Fügen Sie die PHP-Funktion mysql_set_charset zu der von mysql_connect erstellten Verbindung hinzu, um die Kodierung dieser Verbindung zu bestimmen (wenn Sie sie nicht angeben, kann der Standardwert dieses Parameters von Server zu Server variieren): $connection = mysql_connect($server, $username, $password);
mysql_set_charset('utf8', $connection);
Sie können diese Standardeinstellung auch in Ihrem gesamten Hosting ändern, indem Sie dieser Dokumentation folgen.
Sobald die MySQL-Verbindung über ein PHP-Skript hergestellt wurde, können Sie mit diesen Befehlen auch den UTF8-Zeichensatztyp angeben: mysql_query("SET NAMES 'utf8';");
mysql_query("SET CHARACTER SET 'utf8';");
Akzente/Sonderzeichen
Wenn Sie einen MySQL-Dump (Backup) abrufen und in Ihre Datenbank importieren, kann es vorkommen, dass alle Akzente durch seltsame Zeichen (z. B. „?“) ersetzt werden.
MySQL-Datenbanksicherungen werden im UTF8-Format erstellt. Akzentuierte Zeichen werden dann in zwei Bytes kodiert. Das Einspielen dieser Backups stellt auf unseren Servern kein Problem dar, allerdings liegt es an Ihnen, Ihre Heimkonfiguration für den lokalen Import von UTF8-Datenbanken auf Ihrem Arbeitsplatz anzupassen.
Sie können beispielsweise vor dem Import eine utf8 -> latin1-Konvertierung der SQL-Datei durchführen.
Andernfalls geben Sie beim Importieren der Datenbank einfach an, dass Ihre Eingabedatei im iso-latin1-Format vorliegt (Importabschnitt, „Dateizeichensätze“), und der Import wird korrekt durchgeführt.
Wenn Sonderzeichen in „?“ umgewandelt werden, ist es wahrscheinlich, dass die Datei, die Sie importieren, nicht im UTF8-Format vorliegt und die Software für den Import einer UTF-8-Datei konfiguriert ist. Linux kann mit dem Befehl „iconv“ in UTF-8 konvertieren.