0
我正在使用C#WinForms應用程序從使用字符集ISO-8859-1的網頁中刮取一些數據。它適用於許多特殊字符,但不是全部。C#編碼:從他們的代碼中獲取特殊字符
(*下面我用冒號而不是分號,這樣你會看到,我看到的代碼,而不是它的價值),我看着頁面的源代碼
,我注意到,對於那些這將無法正確顯示,實際的代碼(例如&#363 :)在頁面源中,而不是該值。例如,在頁面源代碼中,我看到了Ry &#363:Murakami,但我期望看到Ryū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例子。我錯過了什麼嗎?
是否可以使用UTF-8而不是8859-1進行嘗試?這可能會起作用。 –