Symfony 原始内容的细枝UTF-8编码

Symfony 原始内容的细枝UTF-8编码,symfony,twig,Symfony,Twig,控制器将数组传递给细枝模板。数组包含正确UTF-8编码的字符串。我可以使用var\u dump($theArray)在控制器中检查这一点。所有字符串都正确显示 但是在树枝上 {% for video in videos %} {{ video.title_value | raw }} <br> {% endfor %} 一切就绪。我必须进行原始输出,因为字符串可能包含html标记。知道如何修复�?我不确定您的源数据是否确实是UTF-8加密的var_dump()本身不足以验证内

控制器将数组传递给细枝模板。数组包含正确UTF-8编码的字符串。我可以使用
var\u dump($theArray)
在控制器中检查这一点。所有字符串都正确显示

但是在树枝上

{% for video in videos %}
   {{ video.title_value | raw }} <br>
{% endfor %}

一切就绪。我必须进行原始输出,因为字符串可能包含html标记。知道如何修复

我不确定您的源数据是否确实是UTF-8加密的<代码>var_dump()
本身不足以验证内容的编码

尝试使用Firefox或Chrome回传/转储内容并查看页面,然后将编码更改为UTF-8,然后再更改其他类似ISO-8859-1的内容。如果您选择UTF-8时内容看起来有误,则您的内容不是UTF-8编码的

  • 在Firefox中更改编码:查看>字符编码
  • 更改Chrome中的编码:工具>编码

我也有类似的问题,在我的案例中,问题是数据库编码不匹配。我的解决方案是在首次将数据插入数据库时使用
utf8\u encode()

我的代码示例:

// Convert file name into title of template 
$name = str_replace(array('-', '_'), ' ', basename($file, ".html"));
$name = utf8_encode($name);
mb_detect_encoding($str)也是一种检测编码的方法


我的工作解决方案是遵循twig文档

应用过滤器{field | convert_编码('UTF-8','iso-8859-1')}


因为这种情况经常发生在子模板没有继承主模板时,在主模板中定义了正确的元字符集

请尝试以下过滤器:
convert\u encoding('UTF-8','ISO-8859-1')
如果我的内容与ISO-8859-1看起来不同,问题是什么?这确实有效,但不是一个非常方便的解决方案。你知道如何在全球范围内应用这一建议吗?是的,没错,但我尝试过许多其他解决方案,但到目前为止都没有效果。请在你的回答中添加一些评论,并解释你为什么提出这一建议以及为什么它会起作用。只有代码的答案对更广泛的受众来说并没有真正的帮助。
// Convert file name into title of template 
$name = str_replace(array('-', '_'), ' ', basename($file, ".html"));
$name = utf8_encode($name);