R绘制一些unicode字符,但不包括其他字符

rho*_*ron 11 unicode r cairo

我们的系统管理员刚刚将我们的操作系统升级到SLES12SP1.我重新安装了Rv3.2.3并试图制作情节.我使用cairo_pdf并试图制作一个带有x标签的图,\u0298即太阳符号,但它不起作用:标签只是空白.例如:

cairo_pdf('Rplots.pdf')
plot(1, xlab='\u0298') # the x-label comes up blank
dev.off()
Run Code Online (Sandbox Code Playgroud)

这曾经起作用,但由于某种原因它不再存在.它适用于其他角色,例如

cairo_pdf('Rplots.pdf')
plot(1, xlab='\u2113') # the x-label comes up with the \ell symbol
dev.off()
Run Code Online (Sandbox Code Playgroud)

当我只是粘贴太阳能符号,即

plot(1, xlab='?')
Run Code Online (Sandbox Code Playgroud)

然后我收到了警告

Warning messages:
1: In title(...) :
  conversion failure on '?' in 'mbcsToSbcs': dot substituted for <ca>
Run Code Online (Sandbox Code Playgroud)

该机器是德语,但我使用的是美国英语UTF-8语言环境:

> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: SUSE Linux Enterprise Server 12 SP1

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
Run Code Online (Sandbox Code Playgroud)

关于如何让太阳能符号出现的任何提示?

Flo*_*ian 3

也许您的文本编辑器正在使用 latin1,因此您会将 latin1 字符发送到控制台。

\n\n

看一下编码

\n\n
Encoding(\'\xca\x98\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

和/或尝试

\n\n
plot(1, xlab=iconv(\'\xca\x98\', from=\'latin1\', to="UTF-8"))\n
Run Code Online (Sandbox Code Playgroud)\n\n

但要小心,处理时编码可能会改变。\n如果您使用 Notepad++,您可以在文本编辑器中在不同编码之间进行转换。

\n