MySQL和Phalcon PHP中的UTF8字符问题

时间:2015-11-24 13:37:09

标签: php mysql utf-8 phalcon

我在Phalcon PHP和MySql中有一个项目。

当UTF8字符必须保存这些错误时。

例如: 我保存:nuevadescripciónñññ 在数据库中:nuevadescipciónññÃ

我在数据库,表格和字段中尝试了几种类型的排序规则。

感谢您的帮助。

2 个答案:

答案 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'
        )
    ));
};

来自Phalcon Forum

的示例

从我使用波兰语开始,我的数据库排序规则大多设置为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