2009-08-05 3 views
1

Je travaille sur des pages d'exploration pour plus d'informations, et j'ai rencontré de nombreux problèmes avec l'analyse des pages dans Groovy. J'ai fait demi-solution qui fonctionne la plupart du temps à l'aide chardet juniversal et la numérisation seulement la page pour la balise dans la tête, mais parfois deux de ces balises se trouvent sur une page, par exemple:Deux balises charset sur une page, que prendre?

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
... 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

Est il existe une norme sur laquelle utiliser (premier, dernier, les deux ..?) ou un moyen plus facile de le faire? Merci.

Répondre

3

je le ferais heuristically:

  • Tout est-il réellement ASCII? Si c'est le cas, peu importe ce que vous utilisez.
  • Est-il conforme à l'UTF-8 valide? Si oui, je l'utiliserais.
  • Sinon, utilisez ISO-8859-1.

Vous pouvez regarder l'en-tête de type de contenu revenant du serveur web aussi ...

Fondamentalement, la page est cassée, mais devrait au-dessus de donner une « meilleure estimation ». Raisonnable

0

Le comportement de ceci est indéfini par la spécification HTML. Vous ne pouvez pas avoir deux balises de type contenu séparées dans le même document. Puisque vous devriez probablement analyser ce document de toute façon, votre meilleur pari est de faire une supposition éclairée sur l'intention des développeurs.

Questions connexes