Versuch, herauszufinden, was die Saiten, die schlecht gemeinsam angezeigt werden - wie in dem, was ihre gemeinsame Quelle - sie kommen aus einem anderen Text Dateien/Datenbanken/Tabellen - das sollte Ihnen einige Hinweise geben, wo die Ursache des Problems ist. PHP wandelt keinen Text automatisch um, also schauen Sie sich an, wo es sich ursprünglich befindet.
Wenn Sie genauer bestimmen können, wo der Text verstümmelt erscheint, können wir Ihnen besser helfen.
Einige Dinge, die Sie basierte auf meiner persönliche Erfahrung mit dieser Art von Problemen untersuchen kannst:
Zunächst einmal Ihr .php Dokument (die Datei selbst) gewährleistet eine korrekte Kodierung ist. Sie sollten es in Ihrem Texteditor oder Ihrer IDE einstellen können. Dies kann passieren, wenn Sie Dateien von verschiedenen Orten kopiert haben. Wenn Sie Dateien haben, die nicht in UTF-8 kodiert sind, dann konvertieren Sie sie.
Zweitens sicherstellen, dass die Daten, die Sie in diese Datei abrufen, mit UTF-8-Codierung abgerufen werden. Sie können zum Beispiel Code haben, der Daten aus einer Datenbank holt, in der verschiedene Tabellen unterschiedliche Kodierungen haben, oder der Text wird in verschiedene Kodierungen umgewandelt, überprüfen Sie dies für weitere Informationen: https://dev.mysql.com/doc/refman/5.7/en/cast-functions.html (lassen Sie uns wissen, wenn Sie eine andere Datenbank wie Postgres verwenden)). Sie können versuchen, die Zeichenkette aus einer Datenbank direkt nach der Rückgabe zu drucken - wenn es in Ordnung ist, aber schlecht auf der Seite angezeigt wird, dann wird offensichtlich eine schlechte Formatierung durchgeführt und die Datenbank ist in Ordnung.
Drittens kann der Text, der in Ihren ordnungsgemäß eingerichteten UTF-8-Tabellen gespeichert wurde, in einer falschen Kodierung gespeichert werden - Sie müssen sie möglicherweise direkt korrigieren oder den Code zum Speichern in der Datenbank überprüfen.
könnte konfiguriert werden, Ergebnisse in einer anderen Kodierung zu dienen und Sie können festlegen müssen sie bis auch der Datenbankserver richtig: Change MySQL default character set to UTF-8 in my.cnf?
Eine weitere Option für Sie für alle Funktionen zu suchen ist, die wie mit der Umwandlung von Kodierungen umgehen http://php.net/manual/en/function.utf8-encode.php - es kann sein, dass so etwas unnötigerweise passiert und es für einen Text gemacht wird, der bereits in utf-8 ist, oder in einer anderen Kodierung ist und Sie eine andere Funktion brauchen.
Verwenden Sie dies und lassen Sie es mich wissen –
@AnandPandey danke, aber es funktioniert immer noch nicht. – Lolo
In index.php setzen Sie dies: ini_set ('default_charset', 'utf-8') –