2016-10-20 1 views
-1

Ich habe ein Problem mit Wordpress-Migration, im Zusammenhang mit MySQL-Datenbank.
Ich bin mit einem Zeichensatzcodierungsproblem konfrontiert, daher werden im neuen Hosting die Buchstaben mit einem Akzent wie "à", "è" als Fragezeichen angezeigt.Wordpress, "setze Namen 'utf'8'" vor Beiträge abfragen

Ich weiß von anderen Projekten, dass, wenn sie vor einer Abfrage ich diese machen eine

SET NAMES 'utf8' 

die Fehler verschwindet.
Ich habe es auch in einer benutzerdefinierten PHP-Seite getestet und versucht, einen Post-Inhalt zu bekommen.

Also gibt es eine Möglichkeit, WordPress diese Abfrage vor jeder Post-Abfrage zu tun ?!

Antwort

-1

Man könnte so etwas wie dies in der functions.php Datei versuchen:

add_filter('posts_fields', 'my_posts_fields'); 

function my_posts_fields($fields, &$wp_query) { 
    $fields = "SET NAMES 'utf8'; " . $fields; 
} 

Dies wird die SELECT-Klausel der Hauptabfrage anpassen, so dass anstelle von SELECT wird es Setnamen utf-8; SELECT

+0

Dank MirzaP, ich habe nicht versucht Diese Lösung, weil ich in der Zwischenzeit eine andere Lösung gefunden habe, aber es klingt wie Ihre Lösung könnte sogar – ilSavo

+0

Dies ist viel zu kompliziert Dinge. Natürlich kann Wordpress die Codierung der Datenbankverbindung korrekt verarbeiten, ohne dass Abfrage-Hacks in einem Filter hinzugefügt werden müssen. – deceze

1

Ok, ich löste nur durch die Datenbank charset von latin_swedisc_ci zu utf_8_general_ci ändern und durch Bearbeiten der wp-config.php Datei, Ändern Sie diese Zeile aus
define('DB_CHARSET', 'utf8mb4');
zu
define('DB_CHARSET', 'utf8');

+0

Siehe auch http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored –