L'encodage des caractères problème après avoir modifié les serveurs
Question
J'ai récemment déplacé mon site basé WordPress de DreamHost VPS à un Linode VPS sous Debian + LEMP. Après avoir obtenu le site à nouveau, j'ai remarqué beaucoup de caractères erronés dans les messages; des personnages comme "et -. étaient remplacés par du charabia
Après avoir fait quelques recherche, il semblait clair que la question était quelque chose lié à l'encodage de caractères.
J'ai trouvé un guide qui a suggéré l'édition wp-config.php
et commenter les lignes:
define('DB_CHARSET', 'utf8');
et define('DB_COLLATE', '');
Je l'ai fait et il résolu le problème, mais je me demande si c'était la meilleure façon de s'y prendre. Merci pour tout conseil.
La solution
Après avoir passé toute la journée de travail à ce sujet, j'ai finalement trouvé un guide qui a parfaitement fonctionné:
Avant cela, j'ai essayé suivante @ informations de Rarst, essayé exporter la base de données et le nettoyage manuellement, essayé le UTF-8 Désinfecter Plugin avec une version modifiée d'ici http://www.prelovac.com/vladimir/ultimate-solution-to-weird-utf-character-encoding -problem (qui a effectivement travaillé assez bien, mais n'a pas résolu tous les personnages. Et était probablement une très mauvaise idée).
Quoi qu'il en soit, le cas échéant vous jamais rencontré ce problème, consultez le premier lien que j'ai posté. La procédure était assez simple et est venu essentiellement à remplacer SET NAMES latin1
avec SET NAMES utf8
après l'exportation de la base de données, en veillant à importer la nouvelle base de données nettoyé explicitement UTF8.
Autres conseils
Voici une autre solution qui a fonctionné pour moi ...
juste commentaire DB_CHARSET
et DB_COLLATE
dans wp-config.php
//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');
Voir Conversion des jeux de caractères de base de données dans le Codex. L'article a note d'être complètement réécrite à la version 3.0.1 si les informations doivent être à jour.
Je mes fichiers transition d'un site ancien au nouveau répertoire et j'ai pu modifier:
define ( 'jeucar_db', 'utf8mb4');
à
define ( 'jeucar_db', 'utf8');
Et cela résolu le problème de blancs diamant noir.