Pourquoi est-ce que je récupère des personnages étrangers et comment puis-je les supprimer?

c# html html-agility-pack string

Question

Je prends des caractères supplémentaires (‚) par rapport à la source lorsque je récupère le texte InnerText d'une balise H3 à l'aide du pack d'agilité HTML.

Je ne sais pas d'où viennent ces personnages ni comment les supprimer.

Chaîne extraite:

 Week 1

Source HTML:

 Week 1

Code actuel:

 Week 1

Solution actuelle (volé quelque part sur stackoverflow, perte du lien):

 Week 1

Réponse acceptée

Vous devez définir le codage avant de faire ...

htmlDoc.Load(new System.IO.StringReader(url), Encoding.UTF8);

Cela indique au pack d'agilité que les caractères sont UTF8 plutôt qu'un autre encodage.

La raison pour laquelle vous devez le faire ici est qu’il s’agit du moment où le problème est analysé de manière incorrecte. Après cela, vous stockez les caractères al littéraux.

Les caractères de la chaîne modifiés après le téléchargement de HTML à partir d’Internet peuvent également présenter un intérêt.


Réponse populaire

peut être votre encodage de caractères, réglez encodage sur UTF-8




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi