Zend项目 - mysql没有获取UTF8

时间:2011-05-17 08:35:04

标签: php mysql utf-8

我有一个Zend项目,我使用mysql - 我的数据库连接排序规则是utf8_unicode_ci,我的表格排序是utf8_unicode_ci。我已经成功存储了一些包含UTF8字符的记录,但是当我尝试从数据库中取出它们时,它们就会被破坏,例如:

DVI•1500HD被取为DVI,1500HD

我已尝试在application.ini中设置resources.db.params.charset = utf8,但它无法解决问题。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

尝试在配置中添加以下行。

resource.db.params.driver_options.1002 = "SET NAMES utf8"

关于Zend Framework版本,需要此命令来更改mysql的传输编码。给定的命令是在对数据库适配器进行实例化时的第一件事。

答案 1 :(得分:0)

也许您从数据库获得的内容是UTF8,但在您的演示文稿中出错。在网页上展示时,您是否发送了正确的内容类型标题?该页面是否也保存为UTF8文档?

答案 2 :(得分:0)

我已经尝试了上面的所有解决方案,最后在freetds.conf中解决了这个问题

(在/ etc / freetds的/ freetds.conf)

[MYSERVER]

tds version = 8.0

客户端字符集= UTF-8