php错误的utf8字符来自mysql使用Twig

时间:2015-12-24 14:13:38

标签: activerecord utf-8 twig

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

所以我对charset有一些问题,有关于我的编码的一些细节。

  • 我正在使用波兰人物
  • Mysql编码设置为utf8_unicode_ci(我试过urf8_general_ci)
  • Twig模板具有带utf8编码的标准html-5标头
  • 我不确定文件编码(使用netbeans),但view.encoding()上的sublime text 2控制台说:u'Undefined',我还没有尝试改变它。

问题描述:

当我在Twig模板文件中使用像ółąćź这样的波兰字符时 - 一切看起来都不错,没有问题。我试着用:

echo $twig->render('hello.tpl', array('locations'=>"óóśąłłąś"));

在这种情况下也没有问题。

但是当我从数据库中获取数据时,波兰字符就像“ ” 我尝试通过结构php mysql调用获取数据,并通过activerecord - ex。模型::所有()。

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

1 个答案:

答案 0 :(得分:0)

答案很有趣。

我再次尝试做结构,我使用了这个查询:

mysql_query("SET NAMES 'utf8'", $dbLink);

它有效,所有角色现在都可见。 在activerecord上问题仍然存在,所以我将activerecord更新为nigtly build,现在一切正常!