2013-03-18 108 views
1

我正在使用R讀取舊數據庫中的數據。這在一般情況下工作正常,但在閱讀說明時,我會收到意外的編碼。例如: -編碼在R:如何將此字符串轉換爲UTF-8?

a <- "\U3e34653c" 
# is supposed to be 
"ä" 

我試圖iconv我解決這個問題的自我,但儘管嘗試多種可能性我是不是能夠得到它顯示在一個適當的方式。我的區域設置:en_US.UTF-8。有替代(分)這樣的字符串的方法嗎?

+0

我有一個類似的問題,併成功轉換爲'latin1'。可能值得一試 – 2013-03-18 18:27:32

+1

這似乎是由數據庫造成的,而不是R.字符ä是Unicode中的0x000000e4,而不是0x3e34653c(這是未定義的)。 – 2014-11-14 05:55:28

回答

0

嘗試使用不同的編碼字符串打開文件?正如裏卡多所說,也許拉丁文1?如果沒有其他一些奇特的風味:

f <- file("myfile.db" , encoding = "Latin-1") 
dat <- readLines(f) 

你能鏈接到一些數據嗎?

+0

我知道這不是正確的Unicode字符。問題是,我只是得到了角色(不管它是什麼?)我從數據庫讀取時發佈過。目前我正在試圖找出我可以做什麼而不是正則表達式替換。 – 2013-03-19 10:37:38

0

從SQL Server提取數據時(通過ODBC和RODBC軟件包),我遇到了同樣的問題。我通過更改ODBC驅動程序上的設置將所有字符串視爲unicode來解決此問題。

更具體地說,我爲SQL Server使用Actual Technologies ODBC驅動程序,並且在'高級語言設置'下可以指定'將文本類型視爲Unicode',並將'多字節文本編碼'選項設置爲UTF -8。

相關問題