假设我编写了一个解析包含德语的输入流的函数。下面是一个玩具示例。以下适用于我的机器(因为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
以确保在任何平台或区域设置上正确读取流?
答案 0 :(得分:5)
@flodel的建议确实成功了:
readLines(textConnection("Z\u00FCrich", encoding="UTF-8"), encoding="UTF-8")
然而,我从未明白为何需要这样做。