我即將下載以UTF-8編碼的page。 所以這是我的代碼:爲什麼UTF-8在編碼上失敗?
using (WebClient client = new WebClient())
{
client.Headers.Add("user-agent", Request.UserAgent);
htmlPage = client.DownloadString(HttpUtility.UrlDecode(resoruce_url));
var KeysParsed = HttpUtility.ParseQueryString(client.ResponseHeaders["Content-Type"].Replace(" ", "").Replace(";", "&"));
var charset = ((KeysParsed["charset"] != null) ? KeysParsed["charset"] : "UTF-8");
Response.Write(client.ResponseHeaders);
byte[] bytePage = Encoding.GetEncoding(charset).GetBytes(htmlPage);
using (var reader = new StreamReader(new MemoryStream(bytePage), Encoding.GetEncoding(charset)))
{
htmlPage = reader.ReadToEnd();
Response.Write(htmlPage);
}
}
所以,它的編碼設置UTF-8
。但下載的標題,例如,展現在我的屏幕爲:
Sexy cover: 60 e più di 「quei dischi」 vietati ai minori
而不是:
Sexy cover: 60 e più di 「quei dischi」 vietati ai minori
出頭是錯的,但我沒有找到地方。有任何想法嗎?
如果您使用網絡瀏覽器,它會說什麼? – Gusdor
使用網絡瀏覽器,標題上的正確文字是「性感封面:60 epiùdi」quei dischi「vietati ai minori'。試試看,用Firefox打開它:) – markzzz
「性感的封面」。先生,我在工作。試試UTF-16和ASCII西歐,看看它說什麼。你確定你應該默認UTF-8嗎? – Gusdor