SQL: Eintrag mit Umlauten ist falsch dargestellt?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Setze zuvor die Zeichenkodierung explizit via SQL Request:

mysqli_query("SET NAMES utf8");

Stelle zudem sicher, dass die Daten im PHP-Skript in ihrer Kodierung auch noch richtig sind. Lasse sie dir testweise ausgeben, bevor du einen Request an die Datenbank schickst.


Wenn du es ausgibst, sind die Umlaute immer noch so komisch? Könnte auch an phpMyAdmin liegen. Gib es doch z.B. in PHP oder so aus, was du halt programmierst. Welche Sprache ist es denn

Womit speicherst Du die Daten in der Datenbank und womit betrachtest Du sie?

Beim Erstellen einer Datenbank muss gleich zu Beginn die Frage mit dem verwendeten Zeichensatz und der Codierung der bereitgestellten und auszugebenden Daten geklärt werden. Das sollte schon in der Testphase erfolgen. Ansonsten gibt es mit den Umlauten ewig Probleme. Der Zeichensatz sollte auch mit dem verwendeten PC übereinstimmen, sonst kann man die von der Datenbank ausgegebenen Daten nicht mit dem bordeigenen Editor anschauen.

UTF-8 - Problem ...

1. Check, wie die Daten in der Tabelle TATSÄCHLICH abgespeichert sind, öffne dazu die Tabelle entsprechend z.B mit phpMyAdmin

Stehen die Daten dort FALSCH drin, d.h. mit ü anstatt Ü dann beachte man(n) folgendes:
- PHP- und HTML- Dateien im als “UTF-8 ohne BOM” speichern
- http Header Content- Type mit UTF-8 verwenden
header('Content-Type: text/html; charset=UTF-8');

Auf der Ausgabe-(Anzeige) Seite:
Wähle das richtige Charset aus (UTF-8)
<meta charset="utf-8"> oder
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Der Zeichensatz der Datenbanktabelle selbst sollte natürlich auch entsprechend auf UTF-8 (utf8_unicode_ci) stehen !

Stehen die Daten korrekt in der SQL Tabelle, dann hast du die Ausgabe Seite nicht korrekt berücksichtigt !