linux 下加载bou2_4p.shp后乱码问题
问题:
在linux 下加载bou2_4p.shp后乱,而win7上没有问题
> library(maptools)
> library(mapdata)
> library(maps)
> x <- readShapePoly("/srv/shiny-server/hrl12580/bou2_4p.shp")
> as.character(na.omit(unique(x@data$NAME)));
[1] "\xba\xda\xc1\xfa\xbd\xad?"
[2] "\xc4\xda\xc3?\xc5\xd7\xd4\xd6\xce\xc7\xf8"
[3] "\xd0?\xae?\xce\xe1\xb6\xfb\xd7\xd4\xd6\xce\xc7\xf8"
[4] "\xbc\xaa\xc1\xd6?"
[5] "\xc1\xc9\xc4\xfe?"
[6] "\xb8\xca\xcb\xe0?"
[7] "\xba?\xb1?"
[8] "\xb1\xb1\xbe\xa9\xca\xd0"
[9] "?\xce\xf7?"
[10] "\xcc\xec\xbd\xf2\xca\xd0"
......
解决办法:
使用iconv函数进行转换,如下
> as.character(na.omit(unique(iconv(x@data$NAME,"GBK","UTF-8"))));
[1] "黑龙江省" "内蒙古自治区" "新疆维吾尔自治区" "吉林省"
[5] "辽宁省" "甘肃省" "河北省" "北京市"
[9] "山西省" "天津市" "陕西省" "宁夏回族自治区"
[13] "青海省" "山东省" "西藏自治区" "河南省"
[17] "江苏省" "安徽省" "四川省" "湖北省"
[21] "重庆市" "上海市" "浙江省" "湖南省"
[25] "江西省" "云南省" "贵州省" "福建省"
[29] "广西壮族自治区" "台湾省" "广东省" "香港特别行政区"
[33] "海南省
问题:
在linux 下加载bou2_4p.shp后乱,而win7上没有问题
> library(maptools)
> library(mapdata)
> library(maps)
> x <- readShapePoly("/srv/shiny-server/hrl12580/bou2_4p.shp")
> as.character(na.omit(unique(x@data$NAME)));
[1] "\xba\xda\xc1\xfa\xbd\xad?"
[2] "\xc4\xda\xc3?\xc5\xd7\xd4\xd6\xce\xc7\xf8"
[3] "\xd0?\xae?\xce\xe1\xb6\xfb\xd7\xd4\xd6\xce\xc7\xf8"
[4] "\xbc\xaa\xc1\xd6?"
[5] "\xc1\xc9\xc4\xfe?"
[6] "\xb8\xca\xcb\xe0?"
[7] "\xba?\xb1?"
[8] "\xb1\xb1\xbe\xa9\xca\xd0"
[9] "?\xce\xf7?"
[10] "\xcc\xec\xbd\xf2\xca\xd0"
......
解决办法:
使用iconv函数进行转换,如下
> as.character(na.omit(unique(iconv(x@data$NAME,"GBK","UTF-8"))));
[1] "黑龙江省" "内蒙古自治区" "新疆维吾尔自治区" "吉林省"
[5] "辽宁省" "甘肃省" "河北省" "北京市"
[9] "山西省" "天津市" "陕西省" "宁夏回族自治区"
[13] "青海省" "山东省" "西藏自治区" "河南省"
[17] "江苏省" "安徽省" "四川省" "湖北省"
[21] "重庆市" "上海市" "浙江省" "湖南省"
[25] "江西省" "云南省" "贵州省" "福建省"
[29] "广西壮族自治区" "台湾省" "广东省" "香港特别行政区"
[33] "海南省