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

来源:互联网 发布:数控滚齿机编程 编辑:程序博客网 时间:2024/06/03 11:24

关于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>

以上是该文件的一段代码。

-----完了-----


0 0
原创粉丝点击