【发布时间】:2015-05-12 11:12:31
【问题描述】:
使用 Rstudio [Windows8],当我使用 dygraph 函数绘制时间序列时,尝试在主标题中使用 UTF-8 字符时出现问题。
library(dygraphs)
dygraph(AirPassengers, main = "Título")
这会产生一个标题:“T?tulo”
我尝试将“Título”转换为 utf-8 编码,但它不起作用。
【问题讨论】:
使用 Rstudio [Windows8],当我使用 dygraph 函数绘制时间序列时,尝试在主标题中使用 UTF-8 字符时出现问题。
library(dygraphs)
dygraph(AirPassengers, main = "Título")
这会产生一个标题:“T?tulo”
我尝试将“Título”转换为 utf-8 编码,但它不起作用。
【问题讨论】:
你可以使用 enc2utf8。
dygraph(AirPassengers, main = enc2utf8("Título"))
【讨论】:
您需要确保您的区域设置支持您要使用的字符,并且文件以正确的编码保存。保存为 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 制作整个文件,因为我在查看器窗口中看到其他功能出现故障。
【讨论】: