Недавно я реализовал Twig на PHP-сайте. На сайте есть база данных MySQL, в которой каждая запись является отчетом. После реализации Twig апострофы не отображаются должным образом. Пример этой проблемы ниже:
Оценка государственной компенсации работникам
Кодировка на веб-страницах такая же, как была раньше.
Перед использованием Twig я вывел результаты вот так, и все работало нормально:
echo "<table border='1' width=100%><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++){
$field = mysql_fetch_field($result);
echo "<td>{$field->name}</td>";
}
while($row = mysql_fetch_assoc($result)){
echo "<tr>";
// $row is array... foreach( .. ) puts every element
// of $row to $cell variable
foreach($row as $cell)
echo "<td>$cell</td>";
echo "</tr>\n";
}
echo "</table>";
Вместо этого я теперь использую теги шаблона Twig:
{% for i in queryResult %}
<tr>
<td> {{ i.Month }} </td>
<td> {{ i.Year }} </td>
<td> {{ i.Title}) }} </td>
{% endfor %}
Решение состояло в том, чтобы использовать сырой фильтр предотвратить авто-выход.
Это связано с изменением:
<td> {{ i.Title }) }} </td>
Для того, чтобы:
<td> {{ i.Title|raw }) }} </td>
Спасибо за комментарий Алена Тьембло, который указал мне правильное направление.
Других решений пока нет …