看板 C_Sharp 關於我們 聯絡資訊
※ 引述《cole945 (躂躂..)》之銘言: : 假設你是用 WebClient 抓了一個網頁下來 : WebClient client = new WebClient(); : byte[] data = client.DownloadData("http://www.google.com"); : /* 在這裡用某種神奇的方法偵測他是什麼編碼, : ie, 取得他的 charset, 預設是 iso-8859-1 */ 簡單的方法是看Response header中的charset部份: Content-Type: text/html; charset=UTF-8 也可以看body中的meta tag: <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 通常是以meta tag的為準, 因為這是要手動加上去的. 沒有的話設成Response header的就可以了. 這在主流的web server都會 自動加上去的. 預設通常會是utf-8, 不過因為這和iso-8859-1和在純ASCII 英文的編碼中除了開始時沒有BOM外沒有任何分別, 所以這樣就好. :P -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.73.76.102
horngsh:請教一下, BOM是什麼? 09/26 16:23
cole945:大部份的server都沒有在reponse header中回應charset呀._. 09/26 16:33
leicheong:噢. IIS6和7都有, IIS5.5或以下的沒有... 09/26 19:01
leicheong:沒有的話預設UTF-8就好, 理由同上 09/26 19:02
chhuang:你不能假設大家都使用 IIS 吧...@@ 09/26 22:32
leicheong:Apache和lighthttpd很早就有. 有問題的只有IIS吧? 09/27 10:04