2010-08-29 13 views
0

J'obtiens des chaînes du Web qui contiennent souvent des caractères accentués non reconnus dans mon application.Convertir du texte non anglais en format lisible

Édition - J'obtiens ma chaîne en utilisant le HtmlAgilityPack. Je prends le InnerText d'un tag <title>. Pendant ce temps, le Pack utilise un encodage différent du document HTML original (je ne suis pas sûr de savoir lequel?).

 // get the html title inner text and assign to htmlParts object 
     HtmlNode titleNode = doc.DocumentNode.SelectSingleNode("//title"); 
     string docTitle = titleNode.InnerText; 
     htmlParts.htmlTitle = docTitle.ToString(); 

Quelqu'un peut-il me dire comment je peux obtenir de "(Subtitulado al español).avi"-"(Subtitulado al español).avi"?

Je l'apprécierais beaucoup. :)

Répondre

2

On dirait que vous obtenez UTF-8, mais le traiter comme ISO-8859-1.

Il n'est pas possible de donner des informations plus concrètes sans en savoir plus sur votre système.

+0

J'ai mis à jour la question comme suggéré ... espérons que cela aide. – Alex

+0

Michael, peux-tu nous expliquer comment tu as codé? J'ai encore des problèmes avec ça. – Tys

+0

@TysHTTP: Si vous demandez comment faire la transformation réelle, il existe des méthodes dans .NET pour convertir un encodage en un autre (vérifiez le [Encoding] (http://msdn.microsoft.com/fr-fr/ library/system.text.encoding.aspx) classe). Si vous demandez comment je pourrais les identifier, tout dépend des caractères exacts dans l'OP. –

0

appliquer un codage approprié aux données que vous avez lues. De quelle façon précisément? Bonne question. Pour cela, vous devez au moins fournir le code qui cause le problème en premier lieu.