Twig l'encodage UTF-8 de contenu brut
Un contrôleur de passe d'un tableau à un template twig. Le tableau contient les chaînes correctement codé en UTF-8. Je peux le vérifier dans le contrôleur avec var_dump($theArray)
. Toutes les chaînes sont correctement affichées.
Mais dans twig
{% for video in videos %}
{{ video.title_value | raw }} <br>
{% endfor %}
certains personnages comme Ö,Ä,Ü
sont remplacés par ce �
. Le contrôleur et le modèle sont codés UTF-8 without BOM
et
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
est réglé. Je dois faire la sortie raw parce que les chaînes peuvent contenir des balises html. Une idée de comment résoudre le �
?
OriginalL'auteur Artjom Zabelin | 2012-05-08
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr que votre source de données est en fait UTF-8 encdoded.
var_dump()
seul n'est pas suffisant pour vérifier l'encodage de votre contenu.Essayer écho de déversement du contenu et de l'affichage de la page avec Firefox ou Chrome et modifier l'encodage UTF-8 et puis quelque chose d'autre, comme ISO-8859-1. Si votre contenu vous semble incorrect lorsque vous avez UTF-8 est sélectionné, le contenu n'est pas codé en UTF-8.
OriginalL'auteur Peter Bailey
la solution de travail a été pour moi de suivre la documentation de twig
http://twig.sensiolabs.org/doc/filters/convert_encoding.html
l'application d'un filtre {{ domaine|convert_encoding('UTF-8', 'iso-8859-1') }}
car cela arrive souvent lorsque votre sous - modèle n'est pas hériter de la principale , où vous avez eu la bonne meta charset défini
oui vrai, mais j'ai essayé beaucoup d'autres solutions et il n'a pas travaillé jusqu'à présent.
OriginalL'auteur user3236290
J'ai eu le même problème et dans mon cas, le problème était de la base de données d'encodage de la disparité. La solution pour moi a été d'utiliser
utf8_encode()
lors de la première insertion de données dans la base de données.Échantillon de mon code:
OriginalL'auteur Mihkel Selgal
mb_detect_encoding($str) est également une méthode de détection de l'encodage.
http://php.net/mb_detect_encoding
OriginalL'auteur Fernando André
Essayer ce filtre:
convert_encoding('UTF-8', 'ISO-8859-1')
OriginalL'auteur Isaac