R字符串,UTF-8编码瑞典字符处理

R string, UTF-8 coding swedish character treatment

在 R 中以可表达的方式更改瑞典语字符 ä ö å 时遇到问题
我直接从 MS SQL 数据库
获取数据 这是例子

markets <- c("Caf\xe9                          ","Restaurang kv\xe4ll              ","Barnomsorg tillagningsk\xf6k     ","Folkh\xf6gskola                  ")

然后我用gusb去掉左手space

market=gsub(" ", "", markets,fixed = TRUE)

我收到这个错误:
gsub(" ", "", market, fixed = TRUE) 错误:
输入字符串 3 无效 UTF-8

然后我使用这个命令:
markets_new=gsub(" ", "", 市场)

然后字符串中出现奇怪的汉字, "Caf攼㸹" "Restauranglunch+kv攼㸴ll" "Barnomsorgtillagningsk昼㸶k" "Folkh昼㸶gskola"

我尝试通过以下方式更改 Rstudio 的默认设置: https://yihui.name/en/2018/11/biggest-regret-knitr/?fbclid=IwAR2E5Lp0zjS51fcdjgZ1tej0sg5EBxfG8sNitt-cUA2XEshnT3lNCHNQ3Do

它没有帮助,也尝试使用 gsub() 替换字符但似乎不起作用。

还有一件事,如果我使用

write.csv(markets,'submarket product view.csv',row.names = F)

然后在我的 csv 文件中我看到如下内容

"Caf<e9>                          "
"Restaurang kv<e4>ll              "
"Barnomsorg tillagningsk<f6>k     "
"Folkh<f6>gskola                  "
"Sm<f6>rg<e5>s/salladsrestaurang     " 

我觉得<e9>是带帽子的e,<e4>是ä,<f6>是ö,<e5>是å
有什么治疗建议吗?

试试这个

Encoding(markets) <- "UTF-16"
markets <- trimws(markets)

#[1] "Café" "Restaurang kväll" "Barnomsorg tillagningskök" "Folkhögskola"  

感谢@Wiktor Stribiżew 此解决方案效果最佳:

df$m <- gsub(" ", "", `Encoding<-`(as.character(df$m), "latin1"),fixed = TRUE)