Проблема кодирования персонажа после изменения серверов

wordpress.stackexchange https://wordpress.stackexchange.com/questions/11247

  •  16-10-2019
  •  | 
  •  

Вопрос

Недавно я перенес свой сайт на основе WordPress с DreamHost VPS в Linode VPS, работающий с Debian + LEMP. После того, как я снова поднял сайт, я заметил много ошибочных символов в постах; Персонажи, такие как «и - были заменены таломой.

После того, как он посмотрел, казалось ясно, что проблема была связана с кодированием персонажа.

Я нашел гид, который предложил редактировать wp-config.php и комментировать строки:

define('DB_CHARSET', 'utf8'); а также define('DB_COLLATE', '');

Я сделал это, и это исправило проблему, но мне интересно, был ли это лучший способ сделать это. Спасибо за совет.

Это было полезно?

Решение

Проведя весь день, работая над этим, я наконец нашел руководство, которое отлично работало:

До этого я попытался следить за информацией @Rarst, попробовал экспортировать базу данных и очистить ее вручную, попробовал плагин UTF-8 Sanitize с измененной версией отсюда http://www.prelovac.com/vladimir/ultimate-solution-to-weird-utf-character-coning-problem (Что на самом деле работало довольно хорошо, но не исправлял всех персонажей. И, вероятно, была ужасной идеей).

В любом случае, если кто -либо из вас когда -либо сталкивался с этой проблемой, ознакомьтесь с первой ссылкой, которую я разместил. Процедура была довольно проста и в основном сводилась к замене SET NAMES latin1 с SET NAMES utf8 После экспорта базы данных, затем явно убедившись импортировать новую очищенную базу данных в качестве UTF8.

Другие советы

Вот еще одно решение, которое сработало для меня ...

Просто комментарий DB_CHARSET а также DB_COLLATE в wp-config.php

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

//define('DB_COLLATE', '');

Видеть Преобразование наборов символов базы данных в кодексе. В статье отмечается, что быть полностью переписанным в версии 3.0.1, поэтому информация должна быть актуальна.

Я перешел файлы веб -сайта со старого в новый каталог, и я смог изменить:

DEFINE ('DB_CHARSET', 'UTF8MB4');

к

DEFINE ('DB_CHARSET', 'UTF8');

И это решило проблему с пробелом черного бриллианта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top