2013-03-18 67 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。

相关问题