如何在R中的dygraph标题中使用UTF-8字符

5

在使用Rstudio [Windows8]绘制时间序列的dygraph函数时,如果我尝试在主标题中使用UTF-8字符,则会遇到问题。

library(dygraphs)
dygraph(AirPassengers, main = "Título")

这会导致一个标题:"T?tulo"

我尝试将“Título”转换为utf-8编码,但是它没有生效。

2个回答

3
你可以使用enc2utf8来转换编码。
dygraph(AirPassengers, main = enc2utf8("Título"))

3
可以,我会尽力为您进行翻译。以下是所需内容的翻译:它不起作用。问题仍然存在。我使用的是Windows操作系统。 - MAOC
我在 Mac 上运行了代码,因此在 Windows 上可能无法正常工作。然而,该文章没有指定操作系统。 - Michele Usuelli

1

您需要确保您的区域设置支持您想要使用的字符,并且该文件以正确的编码保存。对我来说,保存为UTF-8有效。

我能够在Windows 7中复制您的情况并尝试了很多事情。以下是一个嵌入Rmarkdown的最小工作示例。

```{r}
Sys.setlocale("LC_ALL","German")
#note that windows locale names are different from unix & mac, usually
#the name of nationality works here.
#also works with "Faroese", "Hungarian", and others who have this letter.
#the locale has to be set in a preceding block to take effect.
```

```{r}
Encoding("Título")
library(dygraphs)
dygraph(AirPassengers, main = "Título")
```

你可以尝试使用Encoding()来编码标题。像法罗斯语,匈牙利语和德语这样的语言将“Título”编码为拉丁文或未知字母,这两种编码似乎都不会对dygraph的javascript造成问题。UTF-8将其编码为<U+00ED>,这是javascript的问题,以及其他一些但不是全部函数的问题。与@Michele建议的相同,使用匹配的区域设置转换为UTF-8具有相同的结果。

此外,如果您没有在许多地方使用标题,则可以手动在生成的html/javascript文件中查找并替换标题。问题发生在转换时,但是如果文件已经生成,则可以成功更改标题变量。该字母在Rstudio“查看器”输出中仍然有一个问号,但我建议定期制作整个javascript文件,因为我已经看到其他功能在查看器窗口中发生故障。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接