Runshak
24. September 2020 um 08:57
1
Hallo,
ich lese einen String mit Umlauten aus einer SQLi Datenbank von MyPhPAdmin aus. Soweit, so gut…
Der String ist in einem UTF8_bin Tabellenfeld gespeichert und wird korrekt angezeigt. Die Webseite hat den
Tag.
Wenn ich den String aus der Datenbank anzeigen lasse, habe ich trotzdem ein ? anstelle aller Umlaute…
Wo ist meine Deklaration falsch?
system
24. September 2020 um 10:49
2
Runshak
25. September 2020 um 00:45
3
Der Tipp von dir hat angezeigt, dass der Text in
Initial character set: latin1 Current character set: utf8
sei. Aber nachdem ich latin1 in der Tabelle eingestellt hatte wird der Text nun richtig dargestellt.
In der Tabelle ist hab ich zwar jetzt wieder ?? aber im Browser ist es korrekt, damit kann ich leben
system
25. September 2020 um 05:24
4
Das ist Quatsch! Wenn du alles, aber auch wirklich alles, im UTF-8 Format hast, gibt es solche Probleme nicht.
[ul]
[li]Tabelle im UTF-8 Format[/li][li]Character-Set von PHP zu DB auf UTF-8[/li][li]HTML-Charset auf UTF-8[/li][li]PHP-Script im UTF-8 Format[/li][/ul]
Runshak
25. September 2020 um 06:02
5
Die Webseite hat im HTML Kopf in den Metainfos
<meta http-equiv="content-type"
content="text/html; charset=utf-8" >
und das Tabellenfeld ist mit latin1_bin konfiguriert. Ich muss also zusätzlich noch das Eingabefeld im PHP-Code mit UTF-8 konfigurieren?
Du musst in erster Linie alles in Deiner Datenbank auf UTF-8 umstellen. Wenn ein Tabellenfeld latin1 kodiert ist wird das schon nicht gehen.
Runshak
25. September 2020 um 06:45
7
was ist denn dann die richtige codierung für die Tabelle?
UTF8_bin Tabellenfeld gespeichert und wird korrekt angezeigt. Die Webseite hat den
das im Startpost scheint ja nicht gepasst zu haben…
In Beitrag #4 steht alles was du beachten musst.
Runshak:
Das sollte auch so reichen
<meta charset="utf-8">
Runshak
27. September 2020 um 00:41
10
Ich hab in der Datenbankverbindung noch folgendes angegeben:
$mysqli = new mysqli(„localhost“,„my_user“,„my_password“,„my_db“);
$mysqli → set_charset(„utf8“);
Jetzt hab ich sowohl auf der Homepage, als auch in der Datenbank Umlaute korrekt angezeigt