我的问题是,我得到以下错误,虽然我已经更新了我的Symfony项目的配置。这里是问题:
An exception occurred in the driver: SQLSTATE [IMSSP, -48]: The encoding 'utf8' is not a supported encoding for the CharacterSet connection option.
字符串
这是我的教义.yaml文件:
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
driver: 'sqlsrv'
server_version: '2017'
# IMPORTANT: You MUST configure your server version,
# either here or in the DATABASE_URL env var (see .env file)
charset: 'cp1254'
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
App:
is_bundle: false
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
型
我正在使用MSSQL 2017与我的Symfony应用程序和sqlsrv驱动程序。我不明白我得到错误的原因,如果有人能找到问题,我会很高兴。谢谢!
1条答案
按热度按时间klh5stk11#
首先,我建议你小心,DATABASE_URL环境变量不要覆盖你配置的字符集。(有时,有这样一行:
字符串
然后,根据configuration reference,charset选项是特定于RDBMS的,开发人员必须参考他们的RDBMS手册以获取更多信息。
根据这个answer,字符集utf8不存在,但字符集UTF-8。
因此,请尝试确保语法
cp1254
存在(我看到一些更复杂的东西,如SQL_Latin1_General_CP1254_CI_AS
,但这可能是排序规则,而不是字符集)。IMO和根据错误消息,你的问题与我的第一个建议有关,因为你的字符集配置似乎被忽略了。
如果你的参数仍然被忽略,试着在你的doctrin.yaml文件中删除url参数,暂时使用一些没有env变量的东西。
型