我正在为Symfony2开发一个法国协会网站的新闻系统。在显示重音和HTML时,我遇到了麻烦。
在树枝视图中,我只输出变量:
{{ article.body }}
如果我直接在数据库中插入重音符号:'é',则甚至不显示变量。
如果我插入此代码:é
它保持不变。
HTML显示为文字。
我还尝试了autoescape
函数(设置为true
和false
),但没有成功:
{% autoescape true %}
{{ article.body }}
{% endautoescape %}
有什么建议吗?非常感谢
答案 0 :(得分:9)
首先,您需要在HTML代码中设置字符集
<!-- for HTML5 -->
<meta charset="UTF-8" />
第二个“convert_encoding()”是一个twig函数,它将变量转换为其他编码。
{{ article.body | convert_encoding('UTF-8', 'ISO-8859-1') }}
但也许,您需要在转换变量之前使用raw
{{ article.body | raw | convert_encoding('UTF-8', 'ISO-8859-1') }}
http://twig.sensiolabs.org/doc/filters/convert_encoding.html
答案 1 :(得分:2)
编码问题可能会出现在下一个地方:
HTML文档:
<meta charset="UTF-8" />
答案 2 :(得分:0)
尝试将twig文件和控制器转换为UTF-8! 类似的问题在这里(当从控制器传递变量到树枝时),这解决了这个问题。
答案 3 :(得分:0)
试试这个,如果你有像这样的ddbb
árbol
{% autoescape %}
{{ c.data|raw }}
{% endautoescape %}
这将显示
árbol