1
У меня проблема с загрузкой данных между кодировкой по умолчанию на машинах Win и nix (соответственно ISO-8859-1 и UTF-8).Текстовое кодирование - отлично в Windows, а не nix
Пример - Окна первого:
library(stringi)
dummy <- as.character("BØÅS")
write(dummy, "saveFile")
getData <- read.table("saveFile", header=F, sep="\t", quote="\"")
reEncode=function(x) {
stri_trans_general(x, "Latin-ASCII")
}
enCoded <- apply(getData, 1, reEncode)
result <- as.data.frame(enCoded)
В Windows выше производит "BOAS" по желанию.
Теперь переходим к Никс и использовать сохраненный файл:
getData <- read.table("saveFile", header=F, sep="\t", quote="\"")
reEncode=function(x) {
stri_trans_general(x, "Latin-ASCII")
}
enCoded <- apply(getData, 1, reEncode)
result <- as.data.frame(enCoded)
Никс дает "B ?? S".
Я считаю, что это проблема с кодировкой read.table, но не удалось выяснить, как заставить nix использовать ISO-8859-1. Какие-либо предложения?
Ubuntu 14, 'Sys.setlocal ('LC_ALL', 'C'); stri_trans_general ("удавы", "Latin-ASCII")' 'дает BOAS' для меня. Можете ли вы поместить вывод 'Sys.getlocale()' в свой пост? –
Привет, Мэтью. Я думаю, что мы идентичны: «LC_CTYPE = C; LC_NUMERIC = C; LC_TIME = C; LC_COLLATE = C; LC_MONETARY = C; LC_MESSAGES = en_GB.UTF-8; LC_PAPER = en_GB.UTF-8; LC_NAME = C; LC_ADDRESS = С; LC_TELEPHONE = С; LC_MEASUREMENT = en_GB.UTF-8; LC_IDENTIFICATION = С» – felixmc