Re: [問題] R中文編碼(MS950)問題

看板R_Language作者 (SIEG ZEON!!!!!!)時間8年前 (2016/01/02 00:15), 8年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串3/3 (看更多)
直到剛剛才有空檔碰電腦,發現如果直接用c大的做法程式可以順利執行,但當我想打開 用stri_encoding改過的內容物(即htmlFileEncodingUTF8)時R就會立刻當機。 而在稍微改一下c大的做法後就正常了。 大致上的概念就是使用RCurl而不是用httr來抓內容,之後照我原來的做法用rvest解並用 tmcn去轉碼,附上程式碼和結果如下: > rm(list=ls()) > > library(tmcn) > library(httr) > library(rvest) > library(magrittr) > library(RCurl) > #改成使用RCurl的getURLContent來抓 > r<-getURLContent("http://isin.twse.com.tw/isin/C_public.jsp?strMode=2") #一樣用rvest來解內容 > res<-r%>%read_html()%>% + html_node(".h4")%>%html_nodes(xpath="tr")%>%html_text() #用tmcn轉碼成utf8 > ress<-toUTF8(res) #轉碼前的結果,一樣是亂碼 > res[1:5] [1] "\xe6\x9c桧挟霅桧驼隞\xa3\xe8\x99蓢\x8f箫\x90讵迂 \xe5\x9c鹉\x9aˋ\xad桧驼 颲刻\xad哣\x99蓸Ⅳ(ISIN Code)銝箫\xb8弴鞒撣弡ū\xe5锑\xe7椡璆剖锑 CFICode\xe5\x82⒣酉" [2] " \xe8篭蟡\xa8 " [3] "1101 \xe3\u0080\u0080\xe5阋瘜冉W00011010041962/02/09銝箫\xb8弴偌瘜亙 極璆胥SVUFR" [4] "1102 \xe3\u0080\u0080鈭靀野TW00011020021962/06/08銝箫\xb8弴偌瘜亙極 璆胥SVUFR" [5] "1103 \xe3\u0080\u0080\xe5\x98栉野TW00011030001969/11/14銝箫\xb8弴偌 瘜亙極璆胥SVUFR" #轉碼後的結果看來是正常多了 > ress[1:5] [1] "有價證券代號及名稱 國際證券辨識號碼(ISIN Code)上市日市場別產業別CFICode備 註" [2] " 股票 " [3] "1101  台泥TW00011010041962/02/09上市水泥工業ESVUFR" [4] "1102  亞泥TW00011020021962/06/08上市水泥工業ESVUFR" [5] "1103  嘉泥TW00011030001969/11/14上市水泥工業ESVUFR" > -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.237.75.44 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1451664911.A.E62.html ※ 編輯: AmuroRai (36.237.75.44), 01/02/2016 00:38:29 ※ 編輯: AmuroRai (36.237.75.44), 01/02/2016 00:39:08

01/02 10:56, , 1F
感謝分享
01/02 10:56, 1F

01/02 15:52, , 2F
我想表示 linux 與 win 會有不同
01/02 15:52, 2F
文章代碼(AID): #1MXgOFvY (R_Language)
文章代碼(AID): #1MXgOFvY (R_Language)