首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

ZF字符集问题

最近在学习Zend Framework,遇到字符集问题

非常奇怪的问题是我在程序段编辑使用中文显示都是正常,但是在数据库中用phpmyadmin查看确实乱码,反之在phpmyadmin中编辑中文,看到的都是正常,到了程序中在看成了乱码。 在phpmyadmin中页面的头部设置与我程序中头部设置是一样的,问题出在哪里一直搞不清楚,请高手给与指点,谢谢!


环境配置如下:
MySQL 服务器版本: 5.0.22-community-nt
MySQL client version: 5.0.37
MySQL 字符集: UTF-8 Unicode (utf8)  utf8_general_ci
PHP 5.2.2版本
在php.ini中也设置了默认字符集为utf8_general_ci
程序文件均为UTF8编码格式
昵称: lee.success  时间: 2007-08-12 11:09:00
这是 zf 的一个 issue,你只能稍微改造一下 zf 的 db 部分,使得可以设置 charset。
昵称: mikespook  时间: 2007-08-12 19:43:00
在入口文件中设置数据库时,加上一句:
复制内容到剪贴板
代码:
$db->query("set names {$config->charset};");
$config->charset为你的数据库编码格式。gbk,utf8 或者其他。
昵称: scauren  时间: 2007-08-13 07:29:00
在index.php文件中增加了$db->query("SET NAMES '".$config->db->charset."'");
config.ini文件中对应也增加了db.config.charset = utf8

依然报错如下:

( ! ) Zend_Db_Statement_Exception: SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character set: '' in D:\www\zf\library\Zend\Db\Statement\Pdo.php on line 227
Call Stack
# Time Memory Function Location
1 0.0010 71368 {main}( ) ..\index.php:0
2 0.1052 2480424 Zend_Db_Adapter_Pdo_Abstract->query( ) ..\index.php:24
3 0.1052 2481008 Zend_Db_Adapter_Abstract->query( ) ..\Abstract.php:206
4 0.1155 2485048 Zend_Db_Statement->execute( ) ..\Abstract.php:262
5 0.1155 2486040 Zend_Db_Statement_Pdo->_execute( ) ..\Statement.php:298
昵称: lee.success  时间: 2007-08-13 15:19:00
不好意思,搞定了,是config那里搞错了
昵称: lee.success  时间: 2007-08-13 15:24:00