/ / Utilisation de caractères spéciaux dans Rstudio - r, encoding, rstudio

Utilisation de caractères spéciaux dans Rstudio - r, encoding, rstudio

Je travaille avec des caractères spéciaux dans Rstudio. Il les couvre en lettres simples.

print("Safarzyńska2013")
[1] "Safarzynska2013"

x <- "Māori"
x
[1] "Maori"

Est-il possible de lire les caractères originaux exacts? Les informations suivantes pourraient être utiles: L'encodage Rstudio par défaut est utf-8

sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] tools_3.1.1

Réponses:

1 pour la réponse № 1

Ce n'est pas un problème exclusivement RStudio.

Dactylographie print("Safarzyńska2013") sur la console de RGui les convertit également en lettres simples. L'exécution de ce code à partir d'un script codé en utf-8 dans les retours RGui [1] "Safarzy?ska2013".

Je ne pense pas que ce soit une bonne idée de taper ces caractères spéciaux sur la console. x <- "SomeString"; Encoding(x) résultats "unknown" et c'est probablement le problème: R n'a aucune idée de l'encodage que vous utilisez sur la console et n'a probablement aucune chance d'obtenir votre encodage d'origine.

Je mets "Safarzyńska2013nMāorin" dans un fichier texte encodé avec utf-8. Alors les choses suivantes fonctionnent bien:

tbl <- read.table("c:/test1.txt", encoding = "utf-8", stringsAsFactors = FALSE)
tbl[1,1]
tbl[2,1]
Encoding(tbl[1,1])  # returns "utf-8"

Si vous voulez vraiment utiliser la console, vous devrez probablement masquer les caractères spéciaux. Dans ?Encoding Nous trouvons l'exemple suivant pour créer un mot avec des caractères spéciaux:

x <- "faxE7ile"
Encoding(x)

En fait, je ne sais pas comment obtenir ces codes pour vos caractères spéciaux et ?Encoding n'a pas non plus d'indices ...