关于使用roxygen2的UTF-8的警告

Lan*_*ann 42 r utf-8 package roxygen2

我有一个关于UTF-8的问题.在执行roxygen2::roxygenise()我的包之后,它显示警告消息'roxygen2需要编码:UTF-8'.我该如何解决?

roxygen2::roxygenise()

>     Writing NAMESPACE
>     
>     Loading ABXTT
>     
>     Writing NAMESPACE
>     
>     Warning message:
>     
>     roxygen2 requires Encoding: UTF-8
Run Code Online (Sandbox Code Playgroud)

小智 63

加:

Encoding: UTF-8
Run Code Online (Sandbox Code Playgroud)

到你的DESCRIPTION文件.

  • 你能解释为什么这是必需的以及它的作用吗? (12认同)

rus*_*rce 21

正如詹姆斯所说,

加: Encoding: UTF-8

到您的DESCRIPTION文件以消除警告.您可以在CRAN上找到有关DESCRIPTION文件格式的文档.该标准包括此字段,以告知构建过程的其余部分使用哪种文件编码.CRAN默认使用ASCII,因此如果您使用ASCII以外的其他内容,则需要此字段.

事实证明,从6.1.0开始,roxygen 读取和写入文件为UTF-8.如上所述,这实际上与CRAN标准/默认值相冲突.因此,在某些时候,roxygen可能会停止将文件写为UTF-8.在此之前,您的软件包文档已编写为UTF-8,您可能需要添加此行以避免出现警告.

附注:只要ASCII范围之外没有字符(即没有特殊字符),UTF-8就会读为ASCII.因此,在实践中,您是否记得包含此字段可能没有任何区别.