我正在尝试使用readOGR包提供的rgdal函数读取OGR矢量地图,但是我在德语变音符方面遇到了一些麻烦。我提供了一个数据示例的小例子,像ö这样的变音符号被\ 303 \ 266代替。

map <-readOGR("/path/to/data.gdb", layer = "layer")
map@data$name
# [1] L\303\266rrach
# [2] Karlsruhe
# [3] B\303\266blingen
# [4] ...


我尝试在readOGR函数(readOGR(dsn = "/path/to/data.gdb", layer = "layer", encoding = "UTF-8"readOGR(dsn = "/path/to/data.gdb", layer = "layer", encoding = "LATIN-1")中指定一种编码,但由于完全相同的编码结果,我似乎完全忽略了该编码参数。尝试过的。有人知道我如何获得readOGR函数或R以显示正确的德语变音符号吗?

最佳答案

我不太确定encoding = "UTF-8/LATIN-1/..."会做什么。我曾希望您会选择一种且只有一种编码方案。在我的机器上,我确实看到了该八进制字符到o-umlaut的翻译:

> 'B\303\266blingen'
[1] "Böblingen"
> 'L\303\266rrach'
[1] "Lörrach"


要查看R字符的各种约定,请键入:

?Quotes


除编码外,还需要在使用的字体中包含字符。控制台显示中使用的字体似乎没有用于o-umlaut的正确映射。我的默认字体是Courier。您还应该检查您的区域设置。 ?Sys.getlocale

08-07 13:51