4

假设我编写了一个函数来解析包含德语的输入流。下面是一个玩具示例。以下适用于我的机器(因为 UTF8 是标准的):

readLines(textConnection("Zürich"))
readLines(textConnection("Z\u00FCrich")) #same thing

但是我想确保它在UTF-8不是当前语言环境编码时也能正常工作。例如在 rApache 中,默认为ascii. 因此我传递了编码参数:

readLines(textConnection("Zürich", encoding="UTF-8"))
readLines(textConnection("Z\u00FCrich", encoding="UTF-8"))

但这实际上会导致输出混乱。为什么是这样?我应该如何调用textConnection以确保在任何平台或语言环境上正确读取流?

4

1 回答 1

7

@flodel 的建议确实起到了作用:

readLines(textConnection("Z\u00FCrich", encoding="UTF-8"), encoding="UTF-8")

然而,我从来没有弄清楚为什么需要这样做。

于 2013-07-22T09:22:43.247 回答