您的位置:首页 > 数据库

Phalcon框架在读取和写入数据库时产生中文乱码

2014-08-11 00:55 316 查看
关于Phalcon框架在读取和写入数据库时产生中文乱码,

问题可能发生在中文日文韩文混排使用UTF-8编码时造成,读取数据库时,双字节文字显示为问号??时。

首先,要保持数据库,表,字段为utf-8编码格式。

其次,要确保php文件为utf-8编码格式。

如果依然不能解决,造成的显现可能是采用pdo_mysql读取和写入的汉字正常,

采用命令行,或者phpmyadmin写入的数据,使用pdo_mysql中读取是问号??

采用pdo_mysql写入的数据在命令行,或者phpmyadmin读取时是乱码。

这种情况下需要调整Phalcon框架创建pdo_mysql连接时设置编码

如下:

$connection = new \Phalcon\Db\Adapter\Pdo\Mysql(array(
"host" => $config->database->host,
"username" => $config->database->username,
"password" => $config->database->password,
"dbname" => $config->database->name,
"charset" => "utf8"
));

创建连接时加入:"charset" => "utf8"
也就是说在创建连接时可以随意设置编码格式,不过编码必须是要在 

/usr/share/mysql/charsets/Index.xml 文件中存在的编码
<charset name="utf8">
<family>Unicode</family>
<description>UTF-8 Unicode</description>
<alias>utf-8</alias>
<collation name="utf8_general_ci" id="33">
<flag>primary</flag>
<flag>compiled</flag>
</collation>
<collation name="utf8_bin" id="83">
<flag>binary</flag>
<flag>compiled</flag>
</collation>
</charset>


以上是该文件的一段代码。
-----完了-----
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐