我在Phalcon PHP和MySql中有一个项目。
当UTF8字符必须保存这些错误时。
例如: 我保存:nuevadescripciónñññ 在数据库中:nuevadescipciónññÃ
我在数据库,表格和字段中尝试了几种类型的排序规则。
感谢您的帮助。
答案 0 :(得分:4)
在正确定义数据库元素的同时,您还必须将连接设置为使用UTF-8 ecoding。从Phalcon开始使用PDO时,您可以尝试将连接修改为:
$di["db"] = function() {
return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
"host" => "localhost",
"username" => "root",
"password" => "1234",
"dbname" => "test",
"options" => array( // this is your important part
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
)
));
};
的示例
从我使用波兰语开始,我的数据库排序规则大多设置为utf8_polish_ci
或有时设置为utf8_universal_ci
。由于结果排序问题,您必须对其进行测试。
答案 1 :(得分:0)
检查项目数据库是否为 utf8-unicode-ci 整理。 同时检查您的所有个人表格是否已整理utf-8-unicode-ci
如果不行,请检查你的apache mysql config my.ini 文件
在该检查中,UTF 8设置没有像这样的#(p)注释
## UTF 8 Settings
init-connect=\'SET NAMES utf8\' //remove #
collation_server=utf8_unicode_ci
character_set_server=utf8