У меня есть следующие данные:
structure(list(QB5B_2 = structure("Car les GAFA sont des sociétés Américaines et de plus les gouvernements qui composent l'Union Européenne ne sont pas d'accord entre elles sur la stratégie à adopter en ce qui les concerne . Exemple les Gafa payent des impots en Irlande car leurs si<ef>", label = "test", format.spss = "A255", display_width = 0L)), row.names = c(NA,
-1L), class = c("tbl_df", "tbl", "data.frame"))
Когда я смотрю на эти данные в панели просмотра RStudios, они выглядят как правильный французский текст:
View(problem)
показывает:
Однако, глядя на данные в консоли, я получаю:
# A tibble: 1 x 1
QB5B_2
<chr>
1 "Car les GAFA sont des soci\xc3\xa9t\xc3\xa9s Am\xc3\xa9ricaines et de plus les gouvernements qui composent l'Union Eu~
Итак, ясно, что существует некоторая проблема с кодировкой символов.
Теперь, когда я пытаюсь экспортировать файл в Excel с помощью:
library(writexl)
write_xlsx(problem, "test.xlsx")
он выполняет экспорт, но я не могу открыть файл в Excel и вместо этого получаю сообщение об ошибке, что возникла проблема. Боковое примечание: я могу отлично импортировать файл Excel, например, readxl::read_xlsx("test.xlsx")
Итак, два вопроса:
- Как я могу вообще предотвратить эти проблемы с персонажем? В идеале я бы не получил эти странные
\xc3\
вещи в данных. - Есть ли способ экспортировать файл, чтобы его можно было правильно открыть в Excel?
encoding = "UTF-8"
? См. здесь. - person Mario Niepel   schedule 09.12.2020httr:POST
у меня появляется следующая строка кода:download_content <- content(download_request, encoding = "UTF-8")
- person deschen   schedule 09.12.2020structure()
на моем компьютере оно правильно отображается в консоли, и я могу сохранить его в Excel, который открывается с правильными акцентами. Это в американской Windows. Поэтому я думаю, что проблема заключается в этапах API и R, а не в Excel. - person Alexlok   schedule 09.12.2020Encoding(problem$QB5B_2)
является latin1, я могу воспроизвести вашу проблему сEncoding(problem$QB5B_2) <- "UTF-8"
и решить ее, установивEncoding() <- "latin1"
. Я подозреваю, что текст на самом деле был Latin1, но API просто притворяется UTF-8 без преобразования. - person Alexlok   schedule 10.12.2020