Seltsame Charaktere – trotz allem UTF-8

Nicht sicher, warum dieser Thread geschlossen wurde , aber das ist das gleiche Problem, das vielen Leuten zufügt.

Alle meine WP-Konfigurationseinstellungen sind in Reihenfolge:

//define('DB_CHARSET', 'utf8'); //define('DB_CHARSET', 'utf8_unicode_ci'); //define('DB_COLLATE', ''); 

Ich habe sogar versucht, sie nacheinander zu aktivieren. Keine funktioniert.

Wenn ich einen Beitrag speichere, erscheinen an Stelle von Apostrophen und Leerzeichen seltsame Zeichen. Dies geschieht unabhängig davon, ob ich Inhalte manuell oder manuell eintippe

Ich habe ein paar Plugins ausprobiert.

  1. UTF-8 Sanitize
  2. Konvertieren Sie WP in UTF-8

..etc.

Keine von ihnen funktioniert. Das Problem besteht weiterhin.

Ich habe auch den Zeichensatz und die Sortierung der database in MYSQL geändert. Bildschirmfoto:

MySQL Tabellen / Spalten sind alle utf-8

Dies ist ein Screenshot, in dem ich einen Inhalt durch Einfügen einfüge:

Text ist in Ordnung, wenn Sie ihn in der WP-Benutzeroberfläche eingeben

Aber unmittelbar nach dem Speichern kommt der Text mit verzerrten Zeichen zurück, die ihn ersetzt haben:

Ärgerliche verstümmelte Charaktere

Was sonst?

Ich ging durch das Dilemma des Dumpings der gesamten MySQL-database und entfernte dann alle älteren Nicht-Utf8-Zeichen über den TR-Befehl.

 tr -cd '\11\12\15\40-\176'  clean-file 

Wo die file-with-binary-chars der MySQL-Dump war. Dann stellte ich den Tisch wieder her.

Meine MySQL-Konfiguration ist alles utf8:

 [client] default-character-set=utf8 [mysqld] character-set-client=utf8 collation-server=utf8_unicode_ci character-set-server=utf8 

Mein Browser ist Chrome. Die Kodierung ist UTF-8 (im VIEW-Menü).

Was kann ich sonst noch tun? Muss ich alle Plugin-Dateien utf-8 auch machen?

FYI, dieser Blog ist einer der WordPress-Blogs. Es gibt andere neuere WordPress-Installationen auf demselben Server, die die gleiche Installation von MySQL 5.6.17 verwenden, aber sie haben kein solches Problem. Meine Vermutung ist, dass dies ein älteres Blog sein mag, einige Variationen in dem Text, der vor langer Zeit eingegeben wurde, aber ehrlich gesagt, nachdem ich alle oben genannten Dinge getan habe, weiß ich wirklich nicht, was ich sonst noch tun kann.

Danke für irgendwelche Eingaben oder Hinweise!

Solutions Collecting From Web of "Seltsame Charaktere – trotz allem UTF-8"

Dies wird normalerweise verursacht, wenn Sie MS Word-Informationen in den WordPress-Inhaltseditor kopieren / einfügen. WordPress verwendet etwas namens “Smart Quotes”, über eine function namens wptexturize () .

Ideale Lösung

Die ideale Lösung wäre, durch Ihren Inhalt zurückzugehen und alle einfachen / doppelten Anführungszeichen über die Tastatur zu ersetzen.

Wenn Sie jedoch mit massiven Kopien / Pasten arbeiten, ist dies möglicherweise nicht möglich.

Deaktivieren Sie wptexturize () Filter

Eine andere Option ist das Deaktivieren des wptexturize() Filters, der ausgeführt wird. was erreicht werden kann, indem Sie den folgenden Code in Ihr Child-Theme functions.php einfügen:

 remove_filter('the_content', 'wptexturize'); 

Sie können den Filter auch aus Kommentaren und / oder Auszügen entfernen:

 remove_filter('comment_text', 'wptexturize'); remove_filter('the_excerpt', 'wptexturize'); 

Oder für Titel:

 remove_filter ('single_post_title', 'wptexturize'); remove_filter ('the_title', 'wptexturize'); remove_filter ('wp_title', 'wptexturize'); 

database bereinigen

Für vorhandenen Inhalt, der bereits die “seltsamen” Zeichen in der database gespeichert hat; Möglicherweise müssen Sie die database bereinigen, indem Sie die folgenden Abfragen von PHPMyAdmin ausführen (stellen Sie sicher, dass Sie zuerst eine databasesicherung durchführen):

 UPDATE wp_posts SET post_content = REPLACE(post_content, '“', '“'); UPDATE wp_posts SET post_content = REPLACE(post_content, 'â€', '”'); UPDATE wp_posts SET post_content = REPLACE(post_content, '’', '''); UPDATE wp_posts SET post_content = REPLACE(post_content, '‘', '''); UPDATE wp_posts SET post_content = REPLACE(post_content, '—', '–'); UPDATE wp_posts SET post_content = REPLACE(post_content, '–', '—'); UPDATE wp_posts SET post_content = REPLACE(post_content, '•', '-'); UPDATE wp_posts SET post_content = REPLACE(post_content, '…', '…'); 

Plugins

Nun … es ist WordPress. Sie können immer ein Plugin verwenden, um den wptexturize() Filter zu verwalten. Schauen Sie sich diese Liste an und prüfen Sie, ob Sie für Sie geeignet sind.

Das Problem kann durch die Plugins und direkte FTP-Uploads verursacht werden.

Hier ist das Detail:

http://iiiji.com/wordpress-appearing-weird-characterscode/

Folgendes hat es für mich behoben, also hier posten, um zu teilen. Obwohl ich die vorgeschlagenen SQL-Updates ausführte, erhielt ich immer noch die lustigen Symbole vor den “mehr lesen” -Links.

Ich bin total geschockt. Nach stundenlangem Ausprobieren und Testen habe ich schließlich die Option “Einstellungen” und dann “Lesungen” gefunden: “Kodierung für Seiten und Feeds”. Nach dem Wechsel von UTF-7 zu UTF-8 sieht alles wieder gut aus.

Bildbeschreibung hier eingeben

Und noch seltsamer, nachdem Sie es in UTF-8 geändert haben, verschwindet die Option von der Seite. Laut WordPress-Website wurde diese Option seit Release 3.5 entfernt.