Ich habe eine MySQL-Tabelle mit Inhalten
Die Struktur ist hier:
Jetzt habe ich einen Datensatz drin:
Ich möchte den Inhalt dieser Tabelle in HTML lesen und drucken Das ist mein Code:
%Vor%aber ich bekomme ???????? wie die Ergebnisse: Hier ist die Ausgabe:
Wo ist mein Fehler?
Vier gute Schritte, um immer korrekt codierten UTF-8-Text zu erhalten:
1) Führen Sie diese Abfrage vor jeder anderen Abfrage aus:
%Vor%2) Fügen Sie dies Ihrem HTML-Kopf hinzu:
%Vor%3) Fügen Sie das oben in Ihrem PHP-Code hinzu:
%Vor% 4) Speichern Sie Ihre Datei mit UTF-8 without BOM
encoding mit Notepad ++ oder einem anderen guten Texteditor / IDE.
Sie definieren Ihre HTML-Seite nicht als UTF-8. Siehe diese Frage zu den Möglichkeiten Mach das.
Sie können Ihre Datenbankverbindung auch explizit auf UTF8 setzen. Machen Sie ein
%Vor%^ Platzieren Sie es direkt unter Ihrem Datenbankverbindungsskript oder -Include, und stellen Sie sicher, dass Sie es platziert haben, bevor Sie die erforderlichen Abfragen ausführen. Auch für die Kollokation nehmen Sie sich bitte die Zeit, um sicherzustellen, dass Ihre es für den richtigen Syntaxtyp zu setzen und general_ci scheint mir gut zu funktionieren, wenn es benutzt wird. Als Finale löschen Sie Ihren Cache, nachdem Sie Ihren Kopf gestoßen haben, stellen Sie Ihren Browser auf die richtige Encoding-Symbolleiste ein - & gt; view- & gt; -Codierung
Das Festlegen der Verbindung zu UTF8 nach dem Herstellen der Verbindung behebt das Problem. Tun Sie dies nicht, wenn der erste Schritt bereits funktioniert.
Alte Wege sind veraltet. Wenn Sie PHP & gt; 5.0.5 und mit mysqli ist die neue Syntax jetzt:
%Vor% Dabei ist $connection
ein Verweis auf Ihre Verbindung zur DB.