为什么datebase中的数据未进行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。
答案 0 :(得分:0)
我知道了。
我已经在doctrine.yaml中的dbal配置中添加了以下代码,并且可以正常工作!!
options:
1002: "SET NAMES 'UTF8'"
发生数据库连接是拉丁编码的,并且上面的代码强制执行utf8。