2014-07-16 9 views
0

C# WinForms 응용 프로그램을 사용하여 charset ISO-8859-1을 사용하는 웹 페이지의 일부 데이터를 다 쳤습니다. 그것은 많은 특수 문자들에 대해서는 잘 작동하지만 전부는 아닙니다. 나는 페이지 소스 보았다C# 인코딩 : 코드에서 특수 문자 가져 오기

와 (당신은 내가 볼 코드, 그리고 그것의 가치를 볼 수 있도록 내가 대신 세미콜론의 콜론을 사용하여 아래 *)

나는 눈치 그 사람을위한 실제로 표시되지 않는 코드 (예 : & # 363 :)는 값 대신 페이지 소스에 있습니다. 예를 들어 페이지 소스에서 Ry & # 363 : Murakami를 볼 수 있지만 Ryuma Murakami가 볼 것으로 예상됩니다. 또한 & # 350 : & # 333 : & # 353 : & # 269 : & # 259 : & # 537 : 등 많은 코드가 코드로 표시됩니다.

WebClient.DownloadString 및 WebClient.DownloadData를 사용해 보았습니다.

시도 # 1 코드 :

using (WebClient wc = new WebClient()) 
{ 
wc.Encoding = Encoding.GetEncoding("ISO-8859-1"); 
string WebPageText = wc.DownloadString("http://www.[removed].htm"); 
// Scrape WebPageText here 
} 

시도 # 2 코드 :

Encoding iso = Encoding.GetEncoding("ISO-8859-1"); 
Encoding utf8 = Encoding.UTF8; 
using (WebClient wc = new WebClient()) 
{ 
wc.Encoding = iso; 
byte[] AllData = wc.DownloadData("http://www.[removed].htm"); 
byte[] utfBytes = Encoding.Convert(iso, utf8, AllData); 
string WebPageText = utf8.GetString(utfBytes); 
// Scrape WebPageText here 
} 

나는 특수 문자를 유지하려면, 그래서 어떤 RemoveDiacritics 예제를 제시하지 마십시오. 내가 놓친 게 있니?

+0

8859-1 대신 UTF-8로 시도 할 수 있습니까? 그럴 수도 있습니다. –

답변