首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Rmarkdown渲染.docx时打印俄文的问题

用Rmarkdown渲染.docx时打印俄文的问题
EN

Stack Overflow用户
提问于 2021-09-28 14:22:34
回答 1查看 104关注 0票数 0

我正在尝试使用Rmarkdown来呈现一个.docx文件,其中包括数据格式中的俄罗斯字符

代码语言:javascript
复制
---
params: 
title: "Encoding Issue"
output:
 bookdown::word_document2:
   reference_docx: Word_template.docx
classoption: a4paper
always_allow_html: yes
lang: ru
---

```{r data}

df <- data.frame(x =

C(“Нехваткамедикаментов”,

“Далекоехать”,

“Опасностьнадорогахкмед.учереждению”,

“只有一名家庭医生”)

)

编码(df$x) <- "UTF-8“

代码语言:javascript
复制
```{r cat}

cat(df$x)

代码语言:javascript
复制

�.�����������只有一位家庭医生

代码语言:javascript
复制
```{r print}

打印(df$x)

代码语言:javascript
复制

\xec\xe5\xe4\xe8\xea\xe0\xec\xe5\xed\xf2\xee\xe2“1”\xcd\xe0 5 \xf5\xe2\xe0\xf2\xea\xe0

2 "\xc4\xe0\xeb\xe5\xea\xee \xee 5\xf5\xe0\xf2\xfc“

3“xce\xef\xe0\xf1\xee\xf1\xf2\xf2\xfc\xe0\xee\xf0\xee\xe3\xe0\xf5 5 \xea \xec\xe5\xe4.\xf3\xf7\xe5\xf0\xe5\xe6\xe4\xe5\xed\xe8\xfe”4“只有一位家庭医生”

呈现的.docx文件将打印的结果显示为

1 "

2 " “

3 " .“4”只有一位家庭医生“

Sys.getlocale()

"LC_COLLATE=Russian_Russia.1251;LC_CTYPE=Russian_Russia.1251;LC_MONETARY=Russian_Russia.1251;LC_NUMERIC=C;LC_TIME=Russian_Russia.1251“

编码问题的根源在哪里?是否有任何方法可以正确地呈现具有正确字符的.docx文件?

НехваткамедикаментовДалекоехатьОпасностьнадорогахкмед.учереждению只有一位家庭医生

我也尝试过使用Sys.setlocale("LC_CTYPE", "English")。.docx模板设置为"UTF-8“。rmarkdown也被设置为options(encoding = "UTF-8")

EN

回答 1

Stack Overflow用户

发布于 2021-10-29 20:27:15

在这种情况下,您应该使用enc2utf8

代码语言:javascript
复制
```{r data}

df <- data.frame(x =

C(“Нехваткамедикаментов”,

“Далекоехать”,

“Опасностьнадорогахкмед.учреждению”,

“只有一名家庭医生”)

)

代码语言:javascript
复制
```{r}

enc2utf8(df$x)

代码语言:javascript
复制
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69363518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档