我有一个广泛使用德国变音符号的文件。我编写了一个脚本来处理文件,该文件可以在本机R(RStudio)中正常工作。不幸的是,在使用Renjin时,所有变音符都设置为文件字符串中的未知字符。由于文件结构的原因,我使用了readLines-command来读取文件。在这种情况下,命令read.table()不合适。

我想使用Renjin,因为我正在Java团队工作,在Renjin的帮助下,我可以保留我们的工作环境,该环境当然是基于Java的。

Java能够正确识别变音符号(使用正确的文件编码)。我还检查了Renjin是否正确打印了变音符号,但没有正确打印。我已经尝试将Renjin中R的语言环境设置为“ German_Germany.1252”。因此,我使用了以下R命令:

engine.eval("Sys.setlocale(category = 'LC_ALL', locale = 'German_Germany.1252')")

然后正确设置了本地。但是,仁津根本不承认这个变位。我在打印文件的一行时检查了它,但也将一个字符直接传递给了Renjin(使用:engine.eval("print('äöß')"))。

您有解决办法吗?如果没有,我应该在github上发布一个问题吗?

最佳答案

我怀疑人人尊重非Unicode字符集是一个问题。

默认情况下,Renjin在所有地方都使用Unicode,并使用UTF-8读取和写入流。

如果无法做到这一点,请使用少量测试文件和脚本在GitHub上打开一个问题。

10-04 13:10