[問題] 萬惡的text encoding

作者: oldjojotenya (舊舅舅)   2015-02-02 17:55:18
[問題類型]:
程式諮詢
[軟體熟悉度]:
新手使用者
[問題敘述]:
試著去抓公開觀測資訊站的財務報表時遇到了文字編碼亂碼的問題。
原始頁面網址為:http://mops.twse.com.tw/mops/web/t164sb03
由於從該頁面獲取財報資料需要透過POST方法表單遞交,因此找到HTML中的form標籤,
把action的網址加上後面雜七雜八需要的name-value弄成query後找到了財報網頁:
http://mops.twse.com.tw/mops/web/ajax_t05st33?step=1&firstin=1&isnew=false&co_id=3519
可是裡面內容竟然是亂碼!查了一下Elements,在meta標籤發現他用的是big5:
<meta content="text/html; charset=big5" http-equiv="Content-Type">
所以後續的程式代碼就編寫成如下:
url=URLencode("http://mops.twse.com.tw/mops/web/ajax_t164sb03?step=1&firstin=1&isnew=true&co_id=3519")
url=getURL(url,.encoding="big5")
table=readHTMLTable(url,stringAsFactor=FALSE,which=2)
但讀出來的東西仍然是亂碼,
期間也試過了之前Wush大分享過的:
Sys.setlocale(category='LC_ALL', locale='C')
但好像對這個案不管用,
既然亂碼是出現在網站的,而且網站的meta標籤也寫明是用big5,為何getURL設定big5
會不work呢@@請教有什麼好的解決辦法嘛
[關鍵字]:Text Encoding
作者: oldjojotenya (舊舅舅)   2015-02-03 12:39:00
莫名其妙解決了

Links booklink

Contact Us: admin [ a t ] ucptt.com