我已经在中部署了我的代码,并在不同的操作系统(如Unix和W10 )中在R中运行批处理请求。由于某些原因,主机输出仅在W10的R中正确格式化,但我无法在Unix系统中获得正确格式化的输出。只有通过Azure并手动下载文件,我才能在所有系统中获得正确的格式化输出。在W10中,我可以直接使用Rscript/Rstudio获得格式正确的文件。在R中,我使用system("defaults write org.R-project.R force.LANG en_US.UTF-8")作为暗示的这里来显式指定编码,但这对在Microsoft运行的Azure服务器中执行的批处理请求R脚本没有任何影响。
正在发生的事情是UTF-8 characters bytes are returned as Latin-1 characters bytes,例如
ö as à ¶ä as à ¤Ä as à ¥可以用这个工具演示和测试关于拉丁文-1字符的这里。那么,处理这个编码问题的最佳方法是什么,它是否可以在Azure ML中得到某种解决?你能在哪里做错误报告?在R中是否存在将拉丁文-1转换为UTF-8的工具?
如何在Azure ML (不是拉丁文-1字符)中使用带有R批处理请求的umlauts格式正确格式化UTF-8文件?
发布于 2017-02-06 07:38:02
批处理请求R命令具有一个saveBlobToFile函数。问题在于saveBlobToFile函数对getUrl使用了错误的编码。getUrl函数需要显式地指定编码。执行下列更改
blobContent = getURL(blobUrl, .encoding="UTF-8")如果没有.encoding,输出就是ISO8859-1('latin1')或从您的系统继承的东西。
https://stackoverflow.com/questions/41902672
复制相似问题