R語言XML包readHTMLTable中文亂碼

std1984發表於2013-02-05
環境: Windows 7,  Ubuntu 12,  RStudio Desktop
 
問題: 使用安裝在windows 7 上的RStudio desktop, 用包XML中的readHTMLTable讀取網頁上的資料,例:
library(XML)
u = ''
url = htmlParse(u, encoding="GB2312")
tables = readHTMLTable(url)
raw = tables[[6]]
檢視raw中文顯示亂碼, 檢視sessionInfo(),
R version 2.15.1 (2012-06-22)
Platform. x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936 
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936   
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
[4] LC_NUMERIC=C                                                   
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
[1] XML_3.95-0.1

loaded via a namespace (and not attached):
[1] tools_2.15.1
 
這個與操作相關, 可以嘗試更改Sys.setlocale("LC_CTYPE", "UTF-8"),但報“作業系統報告說無法執行將本地化設成"UTF-8"的請求”。
 
 
在Ubuntu中使用RStudio卻能正確顯示中文,檢視sessionInfo()
R version 2.14.1 (2011-12-22)
Platform. x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C           
 [4] LC_COLLATE=C         LC_MONETARY=C        LC_MESSAGES=C       
 [7] LC_PAPER=C           LC_NAME=C            LC_ADDRESS=C        
[10] LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

loaded via a namespace (and not attached):
[1] tools_2.14.1
 
 
 
造成的原因推測是XML包編碼方式與作業系統的字元編碼相關。 有高手知道的具體原因的請幫忙解答下。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16582684/viewspace-753963/,如需轉載,請註明出處,否則將追究法律責任。

下一篇: Greenplum引數檢視
R語言XML包readHTMLTable中文亂碼
請登入後發表評論 登入
全部評論

相關文章