我需要什么
-
我需要在视图页面中显示特殊符号。
say name: Sara Fernström oksss.
php代码
{% set name=value.metadata.name %} <h3> {%if name|length < 40 %} {% set strategy = 'html' %} {% autoescape 'html' %} {{name|escape(strategy)|raw}} {% endautoescape %}
参考
- http://twig.sensiolabs.org/doc/filters/escape.html
输出:
Sara Fernstru00f6m
但是o/p应该是:
Sara Fernström oksss
您的问题不在于Twig,而在于页面和字符串编码。
在将字符串传递给Twig之前,请确保该字符串为UTF-8。请确保文档为UTF-8。
然后使用
{{ data }}
以输出您的字符串。
我一直和åöä(瑞典人)一起工作,而且从来没有使用过其他任何东西。
您需要以正确的字符集对字符串进行解码:
{{ data|convert_encoding('UTF-8', 'YourCharset') }}
数据将是您的字符串,第一个值是输出字符集,第二个值是输入字符集,您还可以看到相关的twitch文档:http://twig.sensiolabs.org/doc/filters/convert_encoding.html
如果这不起作用,可以尝试解码php code
中的变量:
对于您的代码,我认为应该是这样的:
value.metadata.setName(utf8_decode(value.metadata.getName());
检查如何使用字符集和校勘参数将数据存储在数据库中,例如:
namespace Acme'DemoBundle'Entity;
use Doctrine'ORM'Mapping as ORM;
/**
* @ORM'Entity(repositoryClass="MyEntityRepository")
* @ORM'Table(name="my_entity",
* options={"collate"="utf8mb4_unicode_ci", "charset"="utf8mb4"})})
*/
class MyEntity
{
....
希望这能帮助