我需要什么
我需要在视图页面中显示特殊符号。
say name: Sara Fernström oksss.
php code
{% set name=value.metadata.name %}
<h3>
{%if name|length < 40 %}
{% set strategy = 'html' %}
{% autoescape 'html' %}
{{name|escape(strategy)|raw}}
{% endautoescape %}
refrence
输出:
Sara Fernstru00f6m
但是o / p应该是:
Sara Fernström oksss
答案 0 :(得分:1)
您的问题不在于Twig,您的问题在于您的网页和字符串编码。
确保字符串在传递给Twig之前是UTF-8。 确保文档是UTF-8。
然后使用
{{ data }}
输出你的字符串。
我一直与åöä一起工作(瑞典语),从不使用任何其他东西。
答案 1 :(得分:0)
您需要在正确的字符集中解码字符串:
{{ data|convert_encoding('UTF-8', 'YourCharset') }}
数据将是你的字符串,第一个值是output-charset,第二个是input-charset,你也可以看到twig doc:http://twig.sensiolabs.org/doc/filters/convert_encoding.html
如果这不起作用,可以尝试decode php code
中的变量:
对于你的代码,我认为这将是这样的:
value.metadata.setName(utf8_decode(value.metadata.getName());
答案 2 :(得分:0)
使用字符集和整理参数作为示例,检查数据在数据库中的存储方式:
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
{
....
希望这个帮助