Почему данные из базы данных не кодируются в кодировке utf8? utf8mb64_general_ci устанавливается для каждого столбца, таблицы и самой базы данных. Мой doctrine.yaml находится ниже:
parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
Тем не менее, я получаю, например, "Og�lne" вместо "Ogólne".
Проблема возникает только на производстве. Локальное кодирование в порядке. Я использую MySQL 5.7 на производстве и MariaDB 10.1 локально.






Я понял это.
Я добавил этот фрагмент кода ниже в конфигурацию dbal в doctrine.yaml, и он работает !!!
options:
1002: "SET NAMES 'UTF8'"
Оказалось, что соединение с базой данных было закодировано на латинском языке, а приведенный выше код применяет utf8.
См. «Черный бриллиант» в stackoverflow.com/questions/38363566/…