Я только что установил WampServer (x64), чтобы установить сайт WordPress. В localhost/phpmyadmin/ сортировка соединения с сервером имеет вид utf8mb4_general_ci .

Когда я создал новую базу данных, я определил, что сортировка будет «utf8_general_ci»

Однако, когда я установил WordPress, я оглянулся в своей БД, и все таблицы находятся в сопоставлении utf8mb4_unicode_520_ci

Почему это произошло?

Я попытался и в C:\wamp64\bin\mysql\mysql5.7.14\my.ini файл под тегом [mysqld] добавил:

character-set-server=utf8    
collation-server=utf8_general_ci

Затем я перезапустил сервер вампиров, установил WordPress с нуля, и снова все таблицы имеют параметры сортировки utf8mb4_unicode_520_ci

Как я могу решить это?

1 ответ1

0

Вы можете определить параметры сортировки в нескольких местах. Как обсуждалось в комментариях, ваша версия сервера MySQL поддерживает настройку сопоставления на уровне соединения.

Чтобы увидеть, когда вы изменили правильную конфигурацию, вы можете запустить простой оператор CREATE TABLE подобный следующему, и проверить, какую кодировку и сопоставление он будет использовать.

CREATE TABLE testSettings(
  Dummy TEXT
);

Вы не указали версию WP, но вы можете попытаться настроить использование char и collation с помощью файла конфигурации [ 2 ]. В текущей версии WP (4.7.1) по умолчанию установлено, что для charset значение utf8 а не для определения параметров collation . Вам придется проверять всякий раз, когда установка параметров сортировки в конфигурации препятствует изменению.

Но даже если вы сделаете это, я не уверен, что это сохранит вашу шкуру, поскольку (по крайней мере, с 2015 года) WP тихо обновляет параметры сортировки до utf8mb4 . Если этой информации недостаточно, вы также можете посмотреть на эту закрытую ошибку, которая может пролить свет на решение.

Способ обойти обновление будет использовать более старую версию MySQL. Но, глядя на это, я бы предложил просто поменять сервис, на котором работает ваша БД. Если они не поддерживают utfmb4 кажется, что они работают на сервере MySQL, который старше, чем 5.5.3, выпущенный в марте 2010 года. Что означало бы, что они не обновляли свое программное обеспечение более 6 лет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .