Я много раз мигрировал на другой сервер, но никогда не сталкивался с этой проблемой. Ни одно из возможных решений не работает, а символы utf-8 отображаются неправильно в PHP-FPM.
Что я пробовал:
ALTER DATABASE database2 CHARACTER SET utf8;
Отредактированный my.conf
файл и добавленные строки:
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
Пробовал менять кодировки для базы данных, таблиц - абсолютно никакого эффекта.
И, конечно, у меня есть <meta http-equiv="content-type" content="text/html; charset=UTF-8">
в<head>
Перезапустил mysql, mysqld после внесения изменений. Но я не вижу абсолютно никаких изменений, и символы utf-8 по-прежнему отображаются неправильно. Символы utf-8 старых записей отображаются неправильно во всех случаях. В новых записях, например, испанские символы отображаются правильно, но чешские, латышские и т. д. символы превращаются в вопросительные знаки. Но, конечно, мне нужно, чтобы старые записи также отображались правильно.
Пожалуйста, посмотрите изображение
Это старая и новая конфигурация сервера. Как вы видите, есть только одно отличие - кодировка сервера, но, как я уже писал, ее изменение не дает никакого эффекта.