我正在使用此配置作为我的学说:
$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")
但它不起作用。 有人可以帮助我。
答案 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'"