php - Zend DB 和编码

标签 php zend-framework encoding utf-8 zend-db

我刚刚遇到了一些很奇怪的事情,我使用带有 Zend_Db_Table 模块的 Zend Framework 1.10 从数据库中读取一些数据。数据库本身、表格和有问题的字段都将它们的排序规则设置为“utf8_general_ci”,并且当使用 phpMyAdmin 检查时,所有特殊字符在数据库中的格式正确显示。此外,使用 Zend_Db_Table 保存工作正常,但是当我读取数据并将其回显到我的浏览器时,它返回为 ISO-8859-1,而不是 UTF8。当我尝试对从数据库返回的值使用 json_encode(仅适用于 UTF8 字符串作为输入)时,我注意到了同样的事情。

我如何设置 Zend_Db_Table/Zend_Db_Row 应该始终使用 UTF8 并返回一个 UTF8 值?我还没有在我的应用中设置任何关于编码的内容。

非常感谢您的帮助!

最佳答案

请注意。就我而言,这个帮助了:

    $this->db = new Zend_Db_Adapter_Pdo_Mysql(array(
        'host'     => $config['db_hostname'],
        'username' => $config['db_username'],
        'password' => $config['db_password'],
        'dbname'   => $config['db_database'],
        'charset'  => 'utf8'
    ));

关于php - Zend DB 和编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216864/

相关文章:

php - 为什么 bcrypt() 哈希值应该存储在 (var)binary 中?

javascript - 我可以使用我的 jQuery AJAX post 方法数据键连接到我的 php 文件吗?

php - Zend Framework ORM 风格的表数据网关与扩展 Zend_Db_Table_Abstract

zend-framework - Zend 框架 : Post to different action then return to original action if fails validation AND keep form fields

linux - 为什么这个行编号命令会破坏字符编码?

java - Java 中的 URLDecoder 在 "São Paulo"处阻塞

cocoa - NSFileManager contentOfDirectoryAtPath 与 samba 路径的编码问题

php - 在 Laravel 4 中转义原始 SQL 查询

oop - Magento Tier 销售价格?

php - 什么是依赖注入(inject)容器?