设置区域设置失败

时间:2016-09-16 07:41:42

标签: r perl utf-8 locale

我在R Markdown日志中不断收到以下错误消息:

cropping document_files/figure-latex/ranking_time_output-1.pdf
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LC_ALL = (unset),
    LC_CTYPE = "en_NL.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

我尝试了很多事情,例如:

Sys.setlocale("LC_ALL", 'en_US.UTF-8')
Sys.setenv(LANG = "en_US.UTF-8")
Sys.setlocale("LC_MESSAGES", 'en_GB.UTF-8')

在R中运行。但是,这似乎不起作用。

我是否必须在命令行中执行某些操作,或者这是我可以在R中修复的问题?我不是两者的专家,所以会很感激帮助!

RStudio版本:0.99.903,系统:Mac OS X 10_11_6

此外,我位于荷兰,但我用英语在我的系统上运行所有内容。

1 个答案:

答案 0 :(得分:0)

LC_CTYPE设置为" en_NL.UTF-8"。 Mac OS X上不存在这样的区域设置(可能没有其他操作系统)。尝试找出错误设置的来源,因为它也可能导致其他问题。

使用Sys.setlocale()设置语言环境是没用的,因为Perl在使用fork()和exec()创建的子进程中运行,然后根据进程环境切换语言环境。

为Perl进程设置环境可能是正确的方法,但您必须覆盖错误值LC_CTYPE,而不是LC_ALL:

Sys.setenv(LC_CTYPE = "en_US.UTF-8")