我试图在Debian squeeze系统上使用Symfony2中的mysql数据库使Doctrine2正常工作。 DB的charset和collation设置为utf8和utf8_general_ci,并通过读取sql脚本手动创建db。
现在我为其中一个表格输入一些值,例如æøå等丹麦特殊字符,它们根本无法正确显示。
我的parameters.yml设置了编码:utf8,在我的config.yml中,学说配置有:
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
当我在mysql控制台中执行select时,字符显示正确,如果我尝试通过som硬编码值替换控制器中的输出数组,那么问题似乎肯定是源于某种错误/错误doctrine2配置......
有没有人知道如何解决这个问题?
非常感谢。
答案 0 :(得分:2)
好的,我终于想通了......这种配置正在进行某种双重编码。评论charset:来自doctrine dbal config的UTF8解决了这个问题。
答案 1 :(得分:0)
问题可能出在您的应用程序字符集中。它可以在config.yml
中找到framework:
charset: UTF-8
#translator: { fallback: lt }
#secret: %secret%
#other options