Problème d'encodage WebClient du kit de développement logiciel Windows Phone 8

c# html-agility-pack visual-studio-2010 windows-phone-7 windows-phone-8

Question

J'essaie d'analyser le code HTML d'un site à l'aide du jeu de caractères Windows-1254. mais tous les caractères turcs montrés comme ceci: � �

Où est le problème actuel? J'ai essayé ceux-ci:

webClient.Encoding = System.Text.Encoding.UTF8
webClient.Encoding = System.Text.Encoding.GetString("UTF-8");

comme fonction ceci:

webClient.Encoding = System.Text.Encoding.UTF8
webClient.Encoding = System.Text.Encoding.GetString("UTF-8");

aussi cette en-têtes:

webClient.Encoding = System.Text.Encoding.UTF8
webClient.Encoding = System.Text.Encoding.GetString("UTF-8");

(avec iso-8859-9, utf8 aussi)

Et voici comment j'utilise le client Web:

webClient.Encoding = System.Text.Encoding.UTF8
webClient.Encoding = System.Text.Encoding.GetString("UTF-8");

gestionnaire:

webClient.Encoding = System.Text.Encoding.UTF8
webClient.Encoding = System.Text.Encoding.GetString("UTF-8");

Réponse acceptée

Au lieu d'utiliser l'approche standard, pourquoi ne créez-vous pas une classe personnalisée, spécifique à vos besoins, qui gérera la situation etc.

Cela vous aidera à générer la classe, comme ceci: entrez la description de l'image ici

et puis tout ce que vous avez à faire

webClient.Encoding = CustomEncoding();

Faites-moi savoir comment ça se passe (:


Réponse populaire

Pourquoi avez-vous défini le codage sur UTF-8 si vous connaissez son windows-1254? Le correctif est plutôt facile, il vous suffit de définir le codage correct dans WebClient .

wb.Encoding = Encoding.GetEncoding(1254);

ou

wb.Encoding = Encoding.GetEncoding(1254);

De plus, votre méthode ReplaceText ne devrait plus être nécessaire non plus.

EDIT: Bien entendu, Windows Phone ne prend pas en charge cet encodage, vous devez implémenter vous-même un encodage autre que utf-8 ou utf-16. Heureusement, il existe un moyen simple de le faire, il vous suffit d'utiliser le programme décrit ici pour générer votre propre classe de codage.




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