Activerecord 使用Twig的mysql中的php错误utf8字符

Activerecord 使用Twig的mysql中的php错误utf8字符,activerecord,utf-8,twig,Activerecord,Utf 8,Twig,我在php上做一些webapp,我使用自己的MVC模式,包括Activerecord和Twig模板 所以我对字符集有一些问题,关于我的编码有一些细节 我在用波兰语字符 Mysql编码设置为utf8\uUnicode\uCI(我尝试了urf8\uGeneral\uCI) 细枝模板有标准的html-5标题和utf8编码 我不确定文件编码(使用netbeans),但view.encoding()上的sublime text 2控制台显示:u'Undefined',我还没有尝试更改它 问题描述: 当

我在php上做一些webapp,我使用自己的MVC模式,包括Activerecord和Twig模板

所以我对字符集有一些问题,关于我的编码有一些细节

  • 我在用波兰语字符
  • Mysql编码设置为utf8\uUnicode\uCI(我尝试了urf8\uGeneral\uCI)
  • 细枝模板有标准的html-5标题和utf8编码
  • 我不确定文件编码(使用netbeans),但view.encoding()上的sublime text 2控制台显示:u'Undefined',我还没有尝试更改它
问题描述:

当我在Twig模板文件中使用波兰字符,如ółąćź时,一切看起来都很好,没有问题。我尝试使用:

echo $twig->render('hello.tpl', array('locations'=>"óóśąłłąś"));
在这种情况下也没有问题

但当我从数据库中获取数据时,波兰语字符就像“�" 我试图通过结构化php mysql调用和activerecord-ex.Model::all()获取数据

在细枝模板中,数据库中的字符总是存在问题。 是的,我将我的活动记录配置设置为:dbname?charset=utf8

答案很有趣

我再次尝试进行结构化查询,并使用以下查询:

mysql_query("SET NAMES 'utf8'", $dbLink);
它起作用了,现在所有的角色都可见了。
在activerecord上,问题仍然存在,因此我更新了activerecord,使其几乎可以构建,现在一切正常!

您应该使用pdo或mysqli,mysql已从最新的php版本中删除。