Re: [問題] readHTMLTable中文亂碼問題

看板R_Language作者 (水色天藍)時間11年前 (2013/05/27 21:54), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串4/5 (看更多)
你好,我是 spideR 講題的講者 因為我不常上 ptt,所以,今天才在 Wush 的提示下 發現這裡有人問了關於那場演講的問題 基本上我也簡單的在我的 Windows 主機上實驗了一下 https://docs.google.com/file/d/0B3Bb-96VzIn7R1dHMEVyU1lDMlk/edit 發現,好像是可以 RUN 的耶 我的演講的 sample code 全部都放在這個專案中 https://bitbucket.org/tw_use_r/20130325-mldm-spider 我依循了專案中的 example 1 的 code 在 Windows 的主機上執行了一遍 發現在執行下方的 example 1 的 code 時 並沒有發生編碼問題唷......如上圖所示........ rm(list=ls(all.names=TRUE)) library(XML) MOPS_URL.TWSE_ALL = "http://mopsov.tse.com.tw/server-java/t05st49_1?kinds=sii&colorchg=1&type=all&step=0a" test_doc = htmlParse(MOPS_URL.TWSE_ALL,encoding="big5") test = readHTMLTable(test_doc) test = readHTMLTable(test_doc,which=1,stringsAsFactors=FALSE) View(test) TWSE_IDs = test$V1[-1] print(test$V1[-1]) NBSP = " " charToRaw(TWSE_IDs[1]) # [1] 31 31 30 31 c2 a0 TWSE_IDs = gsub("[$,\xc2\xa0]", "", TWSE_IDs) 雖然,如上圖所示,我沒有遇到編碼問題 不過我卻遇到了另一個問題 就是 test$V1 找不到東西 不過只需要把 test$V1 替換成 test[[1]] 就完全可以動了 也就是把後面的幾行換成下面的樣子: TWSE_IDs = test$[[1]][-1] print(test$[[1]][-1]) NBSP = " " charToRaw(TWSE_IDs[1]) # [1] 31 31 30 31 c2 a0 TWSE_IDs = gsub("[$,\xc2\xa0]", "", TWSE_IDs) 就完全可以動了!!! ※ 引述《youngce (時間會讓人遺忘)》之銘言: : [問題類型]: : R中文編碼,XML套件 : [軟體熟悉度]: : 使用者(已經有用R 做過不少作品) : [問題敘述]: : 之前看到Taiwan R User介紹spideR的影片 : 今天試了一下Example1的範例卻發現出現了中文亂碼的問題, : 網上大部分是說UTF-8語系的問題, : 但我不知道要怎麼更改R操作語系編碼設定 : 想請問各位高手要怎麼解決呢?? : 以下是本機的資訊: : sessionInfo() : R version 2.15.3 (2013-03-01) : Platform: x86_64-w64-mingw32/x64 (64-bit) : locale: : [1] LC_COLLATE=Chinese (Traditional)_Taiwan.950 : [2] LC_CTYPE=Chinese (Traditional)_Taiwan.950 : [3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 : [4] LC_NUMERIC=C : [5] LC_TIME=Chinese (Traditional)_Taiwan.950 : attached base packages: : [1] stats graphics grDevices utils datasets methods base : other attached packages: : [1] stringr_0.6.2 XML_3.96-1.1 : loaded via a namespace (and not attached): : [1] tools_2.15.3 : 謝謝 : [程式範例]: : 張貼能夠重現錯誤的程式碼,可以幫助版友更快的幫你解決問題 : 程式碼可貼於以下網站: : http://ideone.com/ : http://codepad.org : http://pastie.org/ : http://nopaste.info/ : http://pastebin.com/ : http://paste.plurk.com : http://gist.github.com/ : http://nopaste.csie.org/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.74.126.44

05/27 22:00, , 1F
我在想是不是系統語言的問題...可以到 Rgui 裡面
05/27 22:00, 1F

05/27 22:00, , 2F
把預設語言改成英文,然後存一個Rconsole到我的文件底下
05/27 22:00, 2F

05/27 22:01, , 3F
說不定語言改一下就可以過了
05/27 22:01, 3F

05/27 22:12, , 4F
Hmm... 我不確定耶。你可以比較一下你和原Po的sessionIno
05/27 22:12, 4F

05/27 22:30, , 5F
sessionInfo
05/27 22:30, 5F
文章代碼(AID): #1HesMLRI (R_Language)
文章代碼(AID): #1HesMLRI (R_Language)