在R中保存unicode字符
我有从dataURI(plotly.js)获取的svg文件,并将该数据发送到服务器(Shining app): 但当我将其保存到一个文件中时,我使用的是在R中保存unicode字符,r,unicode,utf-8,R,Unicode,Utf 8,我有从dataURI(plotly.js)获取的svg文件,并将该数据发送到服务器(Shining app): 但当我将其保存到一个文件中时,我使用的是mm3: writeLines( paste('<?xml version="1.0" encoding="utf-8"?>', input$svg), svg.file ) 这应该是UT8吗?如何将utf8字符保存到R中的文件 我正在Windows上进行测试,但它将部署到Linux机器上。因此,似乎编码有问题,在这种情况下
mm3
:
writeLines(
paste('<?xml version="1.0" encoding="utf-8"?>', input$svg),
svg.file
)
这应该是UT8吗?如何将utf8字符保存到R中的文件
我正在Windows上进行测试,但它将部署到Linux机器上。因此,似乎编码有问题,在这种情况下,如果我将编码更改为UTF-16,那么值将正确打印 因此,在这种情况下:
Encoding(input$svg) <- "UTF-16"
尝试使用“UTF-16”,我不确定,但它在我的机器上正确返回,可能还有其他错误reasons@PKumar你在windows上测试过这个吗?是的,所以如果我使用Ecoding(x)@PKumar,它可以与UTF-16一起工作,你可以添加这个作为答案,它可能对其他用户有帮助。
writeLines(
paste('<?xml version="1.0" encoding="utf-8"?>', input$svg),
svg.file
)
> Encoding(input$svg)
[1] "UTF-8"
> Sys.getlocale()
[1] "LC_COLLATE=Polish_Poland.1250;LC_CTYPE=Polish_Poland.1250;LC_MONETARY=Polish_Poland.1250;LC_NUMERIC=C;LC_TIME=Polish_Poland.1250"
Encoding(input$svg) <- "UTF-16"
#[1] "Volume (mm³) on log2 scale"