Почему R & Studio в Mac не может импортировать RData с китайским контентом (создан в win10)

Я преследовал эту проблему в течение всего дня.

Я скачал учебные материалы для учебника через: http://www.crup.com.cn/UploadFiles/jxkj/gsgl/243184/ rar 基于R 第二 第二版 版 rar.rar

Тем не менее, эти RData хорошо работают в R & Rstudio в win10, но не могут отображать китайские символы в Mac

Rstudio в win10:

ссылка: скриншот 1

ссылка: скриншот 2

Rstudio в Mac

Сбой китайских иероглифов

ссылка: скриншот 3

Консоль R в Mac

Сбой китайских иероглифов

ссылка: скриншот 4

Я искал множество решений на веб-сайтах, большинство из которых посвящено тому, как решить проблему с импортом документа ".csv". Но мой вопрос о том, как загрузить RData в R без сбоев китайских символов.

В некоторых ответах упоминалось, что мы должны переключить "кодировку текста по умолчанию" в "Глобальных настройках" Rstudio на "UTF-8", но я проверил Rstudio в Mac и Win10, и они оба находятся в режиме "UTF-8".

Поэтому я действительно не знаю, в чем реальная проблема.

1 ответ

Решение

Возможно, есть лучшее решение, которое работает глобально, но один из способов - преобразовать кодировки для каждого объекта в отдельности:

load("~/Downloads/exercise1_1.RData")
exercise1_1[, 1:3]
#                    ָ\xb1\xea X2008\xc4\xea X2009\xc4\xea
# 1    \xb5\xcd\xca\xd5\xc8뻧          1500          1549
# 2      \xd6е\xc8ƫ\xcf»\xa7          2935          3110
# 3  \xd6е\xc8\xca\xd5\xc8뻧          4203          4502
# 4 \xd6е\xc8ƫ\xc9\u03fb\xa7          5929          6468
# 5    \xb8\xdf\xca\xd5\xc8뻧         11290         12319

names(exercise1_1) <- iconv(names(exercise1_1), from = "GB2312", to = "UTF-8")
exercise1_1 <- lapply(exercise1_1, function(x) if(is.factor(x)) as.character(x) else x)
exercise1_1 <- data.frame(lapply(exercise1_1, function(x) {
  if(is.character(x)) 
    iconv(x, from = "GB2312", to = "UTF-8")
  else 
    x
  }
))

exercise1_1[, 1:3]
#         指标 X2008年 X2009年
# 1   低收入户    1500    1549
# 2 中等偏下户    2935    3110
# 3 中等收入户    4203    4502
# 4 中等偏上户    5929    6468
# 5   高收入户   11290   12319
Другие вопросы по тегам