Кодировка UTF-8 будет работать на всех HTML-страницах, кроме одной - PullRequest
0 голосов
/ 02 мая 2019

Я настраиваю веб-приложение на французском языке, поэтому закодировал его в UTF-8 из-за множества акцентов.Тем не менее, все мои HTML-страницы закодированы, кроме одной.Как показывают теги, я также использую PHP, Symfony и ветку.

Вот мой базовый файл ветки, который называется base.html.twig:

<!DOCTYPE html>
<html lang="fr">
    <head>
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <meta charset="UTF-8"/>

        <title>
          {% block title %}
            {{titrePage}}
          {% endblock %}
        </title>

        {% block stylesheets %}
          <link href="/css/base.css" type="text/css" rel="stylesheet"/>
          <link rel="stylesheet" href="https://bootswatch.com/4/litera/bootstrap.css" crossorigin="anonymous">
          <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
        {% endblock %}
    </head>

    <body id="body">
        {% block body %}

          {% block javascripts %}
            <!--<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>-->
            <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
            <script src ="public/js/CreationJS.js"></script>
          {% endblock %}

      {% endblock %}
    </body>
</html>

(Примечание, CreationJS.js-файл все еще пуст)

Затем у меня есть, например, начало моего файла index.html.twig:

{% extends 'base.html.twig' %}

{% block title %}Ajout de métier{% endblock %}

{% block body %}
<div class ="row" id="main">
  <div class = "col-xl-2 col-lg-2 col-md-2 col-sm-2 col-xs-2 colonnesLaterales">
    <img src="..\..\public\images\arep-frescc.png" width="300" height="82" alt="Logo"/>
  </div>
  <div class = "col-xl-8 col-lg-8 col-md-8 col-sm-8 col-xs-8 colonnesCentrales">
    <div class="titre">Création d'un métier</div>
    {{ form_start(metierForm) }}

Этот кодируется в UTF-8, когда я его открываюв моем браузере (Firefox)

Наконец, начало «черной овцы» creationQuestions.html.twig:

{% extends 'base.html.twig' %}

{% block title %}Création de question{% endblock %}

{% block body %}
<div class ="row" id="main">
  <div class = "col-xl-2 col-lg-2 col-md-2 col-sm-2 col-xs-2 colonnesLaterales">
    <img src="..\..\public\images\arep-frescc.png" width="300" height="82" alt="Logo"/>
  </div>
  <div class = "col-xl-8 col-lg-8 col-md-8 col-sm-8 col-xs-8 colonnesCentrales">
    <div class="titre">Création d'une question</div>
    {{ form_start(questionForm) }}

Этот файл не кодируется в UTF-8.

Я полностью осознаю, что они примерно одинаковы.Я проверил их соответствующие контроллеры, и они оба отображают правильные файлы.

Я проверил другие страницы, и все они также закодированы в UTF-8, поэтому я не понимаю, почему creationQuestions.html.twig этого не делает.

РЕДАКТИРОВАТЬ: я забыл добавить, что некодированные символы становятся '�'

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Благодарность DarkBee за ответ: мой файл creationQuestions.html.twig не был физически закодирован в UTF-8.Я преобразовал это, и это сработало.

Это было так просто

0 голосов
/ 02 мая 2019

Вы можете попробовать использовать Twig Escape

На одной строке или даже на вашем блоке

{{ "your téxt"|e }}
...