我有一个Zend项目,我使用mysql - 我的数据库连接排序规则是utf8_unicode_ci,我的表格排序是utf8_unicode_ci。我已经成功存储了一些包含UTF8字符的记录,但是当我尝试从数据库中取出它们时,它们就会被破坏,例如:
DVI•1500HD被取为DVI,1500HD
我已尝试在application.ini中设置resources.db.params.charset = utf8
,但它无法解决问题。
有什么想法吗?
答案 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