【问题标题】:UTF-8 formatting problems in RR中的UTF-8格式问题
【发布时间】:2020-07-31 20:58:53
【问题描述】:

我正在尝试使用 pandoc 将 Markdown 文件转换为 .docx 文件。不幸的是,它顽固地抱怨它的格式不是“UTF-8”:

在创建 Markdown 文件时,我使用的是用英文编写的 Excel 文件中的文本数据。根据How to identify/delete non-UTF-8 characters in R 的“编码”,其中两列以“未知”格式编码。请参阅下面其中一列(带有数据类别)的示例向量:

exampleVector
 [1] "other wards"  "organisation" "other wards"  "Trystview"    "break"        "other wards" 
 [7] "Trystview"    "other"        "break"        "other"  

exampleVector %>% Encoding()
 [1] "unknown" "unknown" "unknown" "unknown" "unknown" "unknown" "unknown" "unknown" "unknown" "unknown"

exampleVector %>% dput()
c("other wards", "organisation", "other wards", "Trystview", 
"break", "other wards", "Trystview", "other", "break", "other"
)

我已经尝试了有关How to identify/delete non-UTF-8 characters in RForce character vector encoding from "unknown" to "UTF-8" in R 的所有建议,但均未成功,包括“stringi”库中将上述向量转换为“UTF-8”格式的命令。我不确定我错过了什么,我想知道为什么一个相当普通的 Excel 文件的格式对 pandoc 构成了这样的挑战。我使用“readxl”库中的 read_excel 来导入 Excel 数据。将不胜感激任何建议。

【问题讨论】:

  • 您是否尝试将工具>>全局选项中的默认编码更改为UTF-8,然后保存Markdown文件?
  • 您的错误将您指向包含无效字符的两行,第 45 行和第 313 行 - 您可以尝试替换这些字符吗?这可能是由于复制粘贴造成的。
  • @Mohanasundaram:感谢您的评论。我正在使用 RStudio 版本 1.2.5042。我在工具 --> 全局选项下找不到对 UTF-8 的任何引用。你的意思是在工具->全局选项->代码下的某个地方吗?我也找不到……你能说得更具体点吗?
  • @Yozef 工具 --> 全局选项 --> 代码 --> 在保存选项卡下
  • @mhh:感谢您的评论。 Markdown 文件在记事本中看起来原始而清晰。我在那里看不到任何狡猾的角色。我为了一笑而删除了前几百个字符,然后尝试了 pandoc。现在错误消息说(新)文件在位置 255 处具有无效的 UTF-8 字符。我怀疑文件中有许多违规字符,但是它们似乎不能用记事本明显或视觉识别。

标签: r utf-8


【解决方案1】:

我找到了挫折的答案!我只需要将参数encoding = "UTF-8" 添加到定义 R 代码中 Markdown 文件创建的行中:

fileConn <- file("C:/projects/use of time/report1.md", encoding = "UTF-8")
close(fileConn)

【讨论】:

    猜你喜欢
    • 2015-06-05
    • 2021-03-09
    • 1970-01-01
    • 2010-11-13
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多