跟踪R脚本文件中未编码字符的确切位置

时间:2015-09-16 13:49:10

标签: r encoding

更多的提示问题,在许多情况下可以节省大量时间。我有一个script.R文件,我尝试保存并得到错误:

并非所有〜/ folder / script.R中的字符都可以使用ASCII编码。要使用其他编码进行保存,请从主菜单中选择“文件|使用编码保存...”。

我正在处理这个文件已有好几个月了,今天我编辑得像我的代码一样疯狂并且第一次出现了这个错误,所以很明显我插入了一个在我今天工作时无法编码的字符。

我的问题是,我可以跟踪和查找此特定字符以及文档中的确切位置吗?

我的代码中大约有1000行,而且几乎不可能手动搜索它。

3 个答案:

答案 0 :(得分:2)

使用tools::showNonASCIIfile()发现非ascii。

答案 1 :(得分:2)

让我提出两个小改进。

过程:

  1. 使用其他编码(例如UTF-8)保存文件

  2. 将变量“ f”设置为该文件的名称。像这样的f <- yourpath\\yourfile.R

  3. 然后使用tools::showNonASCIIfile(f)显示错误字符。

要检查的东西:

我有一个Markdown文件,可以运行该文件输出到Word文档(不重要)。 我用来初始化过载的某些程序包。我发现警告消息有时包含非ASCII字符,这似乎是引起我此消息的原因-某些错误将所有输出都放在了文件的末尾,无论如何我还是必须将其删除!

  1. 检查警告中字符返回的位置!

欢呼

答案 2 :(得分:1)

将接受的 answerthis answer 扩展到另一个问题,以检查当前在 RStudio 中打开的脚本中的违规字符,您可以使用:

tools::showNonASCIIfile(rstudioapi::getSourceEditorContext()$path)