树枝和撇号
Twig and Apostrophes
我最近在 PHP 网站上实施了 Twig。该站点有一个 MySQL 数据库,其中每个条目都是一份报告。实施 Twig 后,撇号无法正确显示。此问题的示例如下:
Evaluating the State�s Workers� Compensation
网页上的字符集与以前相同。
在使用 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 %}
解决方案是使用 raw filter 来防止自动转义。
这涉及更改:
<td> {{ i.Title }) }} </td>
收件人:
<td> {{ i.Title|raw }) }} </td>
感谢 Alain Tiemblo 的评论为我指明了正确的方向。
我最近在 PHP 网站上实施了 Twig。该站点有一个 MySQL 数据库,其中每个条目都是一份报告。实施 Twig 后,撇号无法正确显示。此问题的示例如下:
Evaluating the State�s Workers� Compensation
网页上的字符集与以前相同。
在使用 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 %}
解决方案是使用 raw filter 来防止自动转义。
这涉及更改:
<td> {{ i.Title }) }} </td>
收件人:
<td> {{ i.Title|raw }) }} </td>
感谢 Alain Tiemblo 的评论为我指明了正确的方向。