【问题标题】:Correctly save R script to keep encoding for Slovak characters when reopened? Windows 10重新打开时正确保存 R 脚本以保持对斯洛伐克语字符的编码?视窗 10
【发布时间】:2018-10-25 16:50:04
【问题描述】:

我正在寻找在 R studio 中处理斯洛伐克语字符的正确方法。


我创建了一个新的 R 脚本,将本地系统设置为斯洛伐克语,然后添加我的字符​​:

# Check Slovak characters

Sys.setlocale(category = "LC_ALL", locale = "Slovak")

chars <-c("ľ š č ť ž ý á í é ú ä ň ô")

打印出正确的字符。

> chars
[1] "ľ š č ť ž ý á í é ú ä ň ô"

我使用编码 Windows-1252 保存 R 脚本,因为 Libre Office 和 Excel 使用此脚本来正确显示斯洛伐克语字符。

我关闭 R 脚本。

我在 R studio 中重新打开了我的 R 脚本,我的一些斯洛伐克字符被神奇地替换为不同的字符!

与我之前的输出相比!

> chars
    [1] "ľ š č ť ž ý á í é ú ä ň ô"

请问,您能否建议我如何为斯洛伐克语字符选择正确的编码,并以某种方式保存 R 脚本,以使我再次打开 R 脚本时字符不会改变?

我在 RStudio 下使用的是 Windows 10 和 R 版本 3.4.2 (2017-09-28)。

【问题讨论】:

  • 试试source(&lt;path-to-script&gt;, encoding = "CP-1252")?
  • @mako212 我不确定如何在我的脚本中使用您的建议?当我创建了一个新脚本并尝试加载它,或者将其插入控制台时:source("C:/Users/test 1/win1252.R", encoding = "CP-1252"),我收到错误:Error in file(filename, "r", encoding = encoding) : unsupported conversion from 'CP-1252' to '' 你知道我能用它做什么吗?

标签: r encoding character-encoding rstudio


【解决方案1】:

根据我的文本编辑器,其中一些字符无法以Windows 1252 编码表示。当我尝试使用编码保存时,请参阅下面来自 Sublime Text 的错误...带有您提供的字符串的 .R 文件:

我建议您尝试使用UTF-8 编码进行保存,这有望解决问题。

Windows 1250 显然也是有效的,但我会选择UTF-8,除非你有特定的理由不这样做。

【讨论】:

  • 谢谢@mako212,这可能是唯一的方法。它适用于新脚本,但不适用于旧脚本,但它肯定至少澄清了我的一些困惑。我会听从你的建议。
猜你喜欢
  • 1970-01-01
  • 2015-12-21
  • 2012-08-10
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
相关资源
最近更新 更多