我正试图在sun solaris机器中从源代码安装R包。当我使用时
> install.packages('iterators', repo=NULL, type='source')
我得到错误
Error in iconv(lines, encoding, "UTF-8", sub = "byte") :
unsupported conversion from '' to 'UTF-8'
我注意到from字段为空(''),所以我检查iconv{base}手册。上面写着
"所有R平台都支持"(用于当前区域设置的编码)、"latin1"…"
链接:https://stat.ethz.ch/R-manual/R-devel/library/base/html/iconv.html
所以我尝试使用iconv 进行转换
>iconv('abc', '', 'utf-8')
我得到错误
Error in iconv("abc", "", "utf-8") :
unsupported conversion from '' to 'utf-8'
然而,在我的本地linux机器上,相同的转换工作
> iconv('abc', '', 'utf-8')
[1] "abc"
sun solaris上R的iconv无法从"获取当前区域设置,这有什么特别的原因吗?或者有安装软件包的变通方法吗?
您没有提到Solaris的版本。在Solaris 10上,iconv不接受空字符串(")作为代码集规范。在Solaris11上,您可以使用"char"或"作为iconv来使用当前区域设置的代码集。这在中进行了描述
# man -s 3C iconv_open