Twig convert_encoding丢弃瑞典字符

时间:2014-08-26 11:02:38

标签: php symfony twig

我有一个带有latin1的数据库,我想用twig渲染为utf8。

问题在于twig的convert_encoding似乎丢掉了像ÅÄÖ这样的瑞典字符。

根据documentation,convert_encoding-filter使用iconv或mbstring,但这两个都正确地转换了我的字符串。

示例:

    $loader = new Twig_Loader_Filesystem('view');
    $twig = new Twig_Environment($loader);

    echo $title . "<br>";
    echo iconv('iso-8859-1', 'utf-8', $title) . "<br>";
    echo mb_convert_encoding($title, 'utf-8', 'iso-8859-1') . "<br>";
    echo call_user_func($twig->getFilter('convert_encoding')->getCallable(),$title,'iso-8859-1','utf8');

输出:

before ��� ��� after
before ÅÄÖ åäö after
before ÅÄÖ åäö after
before after

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

该死。我混淆了参数的顺序。

应该是convert_encoding(to, from)。不是相反。

这给出了正确的结果:

echo call_user_func($twig->getFilter('convert_encoding')->getCallable(),$title,'utf8','iso-8859-1');