【问题标题】:I've set the system locale on Windows 10 to use the beta UTF-8 support, but RStudio does not recognize it我已在 Windows 10 上设置系统区域设置以使用 beta UTF-8 支持,但 RStudio 无法识别它
【发布时间】:2021-12-31 18:09:11
【问题描述】:

如您所见,我已更改语言环境以支持 UTF-8

但是,当我尝试将 RStudio 中的语言环境更改为 UTF-8 时,出现错误:

> Sys.setlocale("LC_ALL", "en_US.utf8")
[1] ""
Warning message:
In Sys.setlocale("LC_ALL", "en_US.utf8") :
  OS reports request to set locale to "en_US.utf8" cannot be honored

我认为既然我启用了对 Windows 的 UTF-8 支持,我就可以在 RStudio 中更改语言环境。有什么办法吗?

当前语言环境是 English_United States.1252:

> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"

在 Windows 10 Home 版本 21H1 上使用 RStudio build 351 和 R 版本 4.1.0

【问题讨论】:

  • 注意:en_US.utf8 不是微软使用的符号。无论如何,请检查developer.r-project.org/Blog/public/2020/07/30/windows/…
  • @GiacomoCatenazzi 所以即使我使用正确的符号,如果没有 R 的演示版本,我将无法使用 UTF-8 作为编码?
  • 您可以在 R(和 Rstudio)中以旧方式使用 UTF-8。您的问题是关于使用 UTF-8 作为默认语言环境的 Microsoft 测试版。为此,您还需要 R 的 beta 版本。但从您的评论来看,您似乎只想在 Rstudio support.rstudio.com/hc/en-us/articles/… 中使用 UTF-8 [注意:微软长期以来一直在使用 Unicode(并且所有显示都已完成)使用 Unicode)。测试版的变化是微妙的:它是“不知道”程序的默认值。 RStudio 和许多其他应用程序显式处理编码]
  • @GiacomoCatenazzi 原来我犯了一个错误。我正在使用 read.csv() 读取 csv,但是将其更改为 readr 的 read_csv() 修复了它,并以正确的编码读取它。感谢您的帮助!

标签: r windows utf-8 windows-10 rstudio


【解决方案1】:

事实证明,问题在于我如何读取数据。使用read.csv() 读取它使用区域设置设置的编码读取它。将其更改为 readr::read_csv() 可确保使用自己的编码 UTF-8 读取文件。

【讨论】:

    猜你喜欢
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 2016-12-19
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多