看板 C_Sharp 關於我們 聯絡資訊
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse webresponse = (HttpWebResponse)req.GetResponse(); Stream stream = webresponse.GetResponseStream(); StreamReader streamreader = new StreamReader(stream, Encoding.GetEncoding("ISO-8859-1")); String html = streamreader.ReadToEnd(); /* url為雅虎網域,如下 http://tw.search.yahoo.com/search?p=%E6%B8%AC%E8%A9%A6&fr=yfp&ei=utf-8&v=0 html 當中的中文字都無法出現(不是亂碼,而是沒有中文字),其他都正常 請教各位先進 謝謝 */ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.125.46.68
bdvstg:我想問 "ISO-8859-1" 是怎麼來的? 02/24 15:16
bdvstg:換成 "UTF-8" 試試 (那網頁原始碼寫的) 02/24 15:18
optimist9266:Fiddler2 + 位元組比對應該就能解開 02/24 18:05
optimist9266:我剛剛有小測了一下 HttpWebRequest抓下來的位元組跟 02/24 18:06
optimist9266:瀏覽器的有出入 請參考封包監視找出瀏覽器跟程式的 02/24 18:07
optimist9266:差異性 並加以修正 02/24 18:07
bdvstg:GetResponse之前 加一行要求回傳編碼為UTF-8的程式碼 02/24 20:04
bdvstg:req.Headers.Add("Accept-Charset", "UTF-8"); 02/24 20:04
bdvstg:Encoding那裡再改成Encoding.UTF8就好了 02/24 20:06
jono103:感謝各位,b大方法可行,原來要指定Accept-Charset 02/25 01:04