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

时间:2015-03-10 20:27:42

标签: r utf-8 dygraphs

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

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

这导致标题:“T?tulo”

我试图将“Título”转换为utf-8 enconding,但它不起作用。

2 个答案:

答案 0 :(得分:3)

您可以使用enc2utf8。

dygraph(AirPassengers, main = enc2utf8("Título"))

答案 1 :(得分: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以及一些但不是所有其他功能都是一个问题。使用匹配的区域设置,转换为utf-8,因为@Michele推荐具有相同的结果。

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