为教义问题设置utf8字符集

时间:2017-01-04 00:58:19

标签: php mysql symfony doctrine-orm doctrine

我正在使用此配置作为我的学说:

$config = array(
        'name'          =>  'backend',
        'host'          =>  'xxxxx',
        'user'          =>  'xxxx',
        'password'      =>  'xxxxx',        
        'dbname'        =>  'xxxx', 
        'driver'        =>  'pdo_mysql',
        'charset'       =>  'UTF8',

    );

但我的数据库使用utf8_general_ci。结果,当我从数据库中获取数据时,某些字符无法按照我的意愿正确显示。 我尝试添加:

'driveroptions'=>array(1002=>"SET NAMES utf8")

但它不起作用。 有人可以帮助我。

1 个答案:

答案 0 :(得分:4)

字符集和整理是两件不同的事情。我认为你有2个选择。

1)在MySQL配置(my.cnf文件)中设置字符集,在[mysqld]块中添加这些行。

e.g。

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

2)尝试通过'选项'设置Doctrine配置中的排序规则。设置。

e.g。

charset: UTF8
options:
    1002: "SET NAMES 'UTF8' COLLATE 'utf8_unicode_ci'"