2017-09-08 3 views
1

In einigen Seiten meiner Website erscheint die Zeichencodierung sauber und in einigen anderen Seiten ist es nicht gut.Die Zeichencodierung funktioniert nicht richtig mit PHP, WordPress

Zum Beispiel könnte es so aussehen: Fluüe, statt dessen: Flüe.

Ich arbeite an Wordpress, mit meinem eigenen Thema. Mein php Dokument ist auf <meta charset="<?php bloginfo('charset'); ?>"> eingestellt. Ich habe auch mit <meta charset="UTF-8"> versucht, aber es löst das Problem nicht. Hier

ist der Kopf meiner header.php Datei:

<head> 
 

 
    <meta charset="<?php bloginfo('charset'); ?>"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <meta name="description" content="Temporary Gallery, Centre for contemporary art, Köln" /> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
    <link rel="stylesheet" href="dist/css/bootstrap-responsive-tabs.css"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<head>

+0

Verwenden Sie dies und lassen Sie es mich wissen –

+0

@AnandPandey danke, aber es funktioniert immer noch nicht. – Lolo

+0

In index.php setzen Sie dies: ini_set ('default_charset', 'utf-8') –

Antwort

0

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.

+0

thank gefunden Sie für diese detaillierte Erklärung! Ich denke meine Dateien sind richtig eingestellt, weil die Textformatierung gut ist, außer mit dem "u" Kleinbuchstaben in Verbindung mit dem ¨. So erscheint jedes "ü" wie "u¨", nur für Kleinbuchstaben. Großbuchstabe und andere Buchstaben funktionieren gut ... – Lolo

+0

werden Ihre ü direkt in Ihr Dokument geschrieben oder holen Sie sie aus einer anderen Quelle? Können Sie es mit Hilfe von error_log (print_r ($ faulty_string, 1)) in Ihr Protokoll drucken; und sehen Sie, ob es in Ihrem Fehlerprotokoll in Ordnung ist? –

+0

Eigentlich sind meine ü's direkt in meinen Wordpress Posts admin geschrieben. Aber ich erkannte, dass sie gut in der Admin und nicht gut in der Website erscheinen. Sie sind von kopierten und eingefügten Texten ... – Lolo

Verwandte Themen