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>
以上是该文件的一段代码。
-----完了-----
问题可能发生在中文日文韩文混排使用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>
以上是该文件的一段代码。
-----完了-----
相关文章推荐
- strucs工程里,用自己写的java类读取jsp的表单,然后写入写入数据库,但是中文成乱码..
- 解决mysql+hibernate在j2ee框架下的数据库中文乱码问题
- asp.net 写入中文cookie JS读取乱码
- 遇到问题-用StreamReader读取数据时出现乱码,streamwriter写入中文时出现乱码
- 解决Android4.3版本下,手机短彩接收中文文件名附件,中文名字的附件无法保存(第二步:解决从从数据库中读取附件文件名,并在长按后保存附件时,中文乱码导致的无法保存附件)
- Ofbiz12.04 写入数据库时候中文乱码问题
- ASP读取数据库的中文出现乱码问题
- 从JSP页面向数据库提交信息,乱码。读取数据库中原有的中文信息不乱码
- 遇到问题-用StreamReader读取数据时出现乱码,streamwriter写入中文时出现乱码
- 解决用C#写的窗体应用程序向数据库SQL Server表格中写入中文乱码显示???的方法
- 解决PHP写入、读取MYSQL数据库数据中文乱码问题
- C#写入中文cookie用JS读取乱码解决方案
- 数据库读取中文乱码的问题
- 中文写入数据库乱码及Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1解决
- 关于读取数据库时中文编程乱码的问题
- Asp.net 中向数据库写入中文变乱码的解决方法
- Java IO 读取/写入文件 中文乱码困难解决代码
- 解决CStdioFile.ReadString读取中文产生乱码问题
- 对于中文写入数据库中乱码的问题
- web开发中文数据写入到数据库乱码问题