2012-09-05 3 views
0

나는 다음과 같은 웹 클라이언트를 통해 XML 파일을 다운로드하고 그런 다음 의 C#/비주얼 스튜디오 표시되지 움라우트가 제대로

WebClient connect = new WebClient(); 
connect.DownloadStringCompleted += new DownloadStringCompletedEventHandler(connect_DownloadStringCompleted); 
connect.DownloadStringAsync(new Uri("http://conn.info/api/v8/search/item_short.xml?apikey=123&lang=de&q="+textBox1.Text)); 

내가

XElement erg = XElement.Parse(e.Result); 

을 구문 분석하지만 문제가있다처럼 독일어 문자가 "ü"또는 "ä"가 제대로 표시되지 않습니다. 대신에 "?" 내 출력 (Windows 전화 장치)의 이러한 문자 각각에 대해.

어떻게 해결할 수 있습니까?

+0

는 당신이'connect.Encoding = Encoding.UTF8 뭔가를해야 할 것 같아,이 태그가 왜' – V4Vendetta

+1

는/"비주얼 스튜디오"로 제목? Visual Studio 내에서 XML을 표시하지 않습니다. –

+0

'int cp = (new WebClient())는 무엇인가? Encoding.CodePage;'yield? 웹 사이트에 따라, 아마도'connect.Encoding = Encoding.GetEncoding (1252);'가 필요하다. –

답변

0

나는 당신의 XML의 인코딩이 ISO-8859-1이라고 가정한다. (코드에서 위에있는 도메인에 액세스 할 수 없습니다.) 다음과 같이 인코딩을 설정하려고 :

connect.Encoding = Encoding.GetEncoding("ISO-8859-1"); 

나는 http://www.spiegel.de/thema/windows_phone_8/index.rss와 코드의 조각을 테스트하고 나를 위해 작동합니다. 결과 스크린 샷을 찾으십시오. 나는 독일어의 특수 문자로 당신에게 동그라미를 그렸다.

enter image description here

+0

팁이 그랬습니다. 감사! – Clue

1

글쎄, 당신은 이미 움라우트가 빠져 있다고 언급했습니다. 나는 UTF8 모드로 웹 클라이언트를 설정 제안 :

connect.Encoding = System.Text.Encoding.UTF8; 
+0

그건 작동하지 않습니다. 움라우트는 여전히 - 마크입니다. – Clue

+0

은 파싱되었거나 이미 누락되기 전에받은 xml의 움라우트입니까? 모바일 장치에서만 문제가 발생합니까? – Najzero

+0

모바일 장치에서만 발생합니다 (독일어 social.msdn ... 토론에 동일한 주제가 있었기 때문에) – Clue

관련 문제