2010-03-20 4 views
2

J'ai le code suivant, à partir de laquelle vous pouvez voir que, je l'utilise de la même manière pour créer le texte dans utf-8. Le texte affiché entre les balises html est affiché correctement. Mais le texte affiché en tant qu'attribut de tag html est affiché en Unicode. Je suis certain que du côté serveur (PHP), les deux textes sont traités de la même manière et sont encodés en utf-8. Pourquoi le texte en tant qu'attribut de tag html est-il affiché en Unicode?html attribut tag affiché en unicode

<head> 
    <meta name="description" content="&#x88E6;&#xE791;&#xB188;&#x89E6;&#xE693;&#x988A;"/> 
    <title>看看大家都在分享什么最新火爆的购物打折信息? </title> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
</head> 

<li id="nav_logout"> 
     <a href="http://www.example.com/test/svn/main/logout" title="&#x9000;&#x51FA;&#x672C;&#x7AD9;">退出</a> 
     <span></span> 
</li> 
+2

Quel navigateur a ce comportement? Y a-t-il une bonne raison pour laquelle vous convertissez les caractères en entités HTML au lieu de simplement les y placer directement? –

+1

a vu ce problème sur Firefox (MAC) et Safari. Eh bien, pour la méta description, je dois les mettre comme attribut tag de 'contenu' – user297975

+0

Ma question n'est pas "pourquoi utilisez-vous des attributs", c'est "pourquoi ne mettez-vous pas simplement les caractères dans les attributs tels quels? au lieu de les convertir en & # syntaxe ". –

Répondre

1

Selon les commentaires, ils devraient être répercuté en l'état et non converties en entités HTML - Quelque chose est en train de faire cela. J'oserais deviner que vous alimentez votre sortie à travers une fonction qui fait cela en utilisant le système de tampon de sortie. Rechercher votre code pour (tous, ils empilent) instances de ob_start() étant appelé et nous dire le premier argument (qui est le rappel de la fonction que la sortie est alimentée par).

Questions connexes