不同编码的Rd文件

14

我该如何正确指定rd文件的编码方式?我想要将以下帮助文件添加到我的软件包中,用来记录虚拟函数:

\name{dummy}
\encoding{ISO-8859-2}
\alias{dummy}
\title{Příšerně žluťoučký kůň úpěl ďábelské ódy.}
\usage{
  dummy(x)
}
\arguments{
  \item{x}{Příšerně žluťoučký kůň úpěl ďábelské
  ódy.Příšerně žluťoučký kůň úpěl ďábelské ódy.}
}
\description{
  Příšerně žluťoučký kůň úpěl ďábelské ódy.Příšerně
  žluťoučký kůň úpěl ďábelské ódy.
}
\examples{
dummy(x="Příšerně žluťoučký kůň úpěl ďábelské ódy.Příšerně žluťoučký kůň úpěl ďábelské ódy.")
}

然而,当我尝试安装我的软件包(使用devtools中的install)时,我遇到了以下错误:

Warning messages:
1: In fetch(key) : internal error -3 in R_decompress1
2: In strsplit(msg, "\n") : input string 1 is invalid in this locale

我尝试执行help(dummy)时出现以下结果:

Error in fetch(key) : lazy-load database '�' is corrupt

有什么建议吗?


可能需要清理一下你的环境,使用 rm(ls=list())source(),然后再试一次?!? - maximus
1
请参考此处:http://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file 您应该能够在您的DESCRIPTION文件中指定编码。 - Thomas
13
每次运行“install”命令之间,您需要重新启动R。 - hadley
1个回答

3

我怀疑这种编码可能无法被 R 很好地处理。 如果我将您的函数复制粘贴到一个虚假的包中,在 Rd 文件中删除对您编码的提及并使用 UTF-8 编码保存它,然后添加

    Encoding: UTF-8

对于 DESCRIPTION 文件,在 Linux 系统下,使用 UTF-8 本地编码可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接