我正在做一些涉及葡萄牙語文本的文本挖掘。我的一些自定義文本挖掘功能中還有其他特殊字符。這些不同的編碼爲什麼不能讓我正確顯示葡萄牙語?
我不是這方面的專家。當我的很多字符開始顯示不正確時,我認爲我需要更改文件編碼。我試圖
- ISO-8858-1
- ISO-8858-7
- UTF-8
- WINDOWS-1252
無它們提高了字符的顯示。我是否需要一種不同的編碼方式,或者我是否會全力以赴?
例如,當我嘗試從GitHub讀取停用詞名單:
stop_words <- read.table("https://gist.githubusercontent.com/alopes/5358189/raw/2107d809cca6b83ce3d8e04dbd9463283025284f/stopwords.txt")
他們出來是這樣的:
tail(stop_words, 17)
206 tivéramos 207 tenha 208 tenhamos 209 tenham 210 tivesse 211 tivéssemos 212 tivessem 213 tiver 214 tivermos 215 tiverem 216 terei 217 terá 218 teremos 219 terão 220 teria 221 terÃamos 222 teriam
我也試用stringsAsFactors = F
。
我不會說葡萄牙語,但我的直覺告訴我,歐元和版權符號不在他們的字母表中。另外,它似乎正在將一些重音小寫的e改爲大寫的不同重音的A。
在情況下,它是有幫助:
Sys.getlocale()
[1]「LC_COLLATE = English_United States.1252; LC_CTYPE = English_United States.1252; LC_MONETARY = English_United States.1252; LC_NUMERIC = C; LC_TIME = English_United States.1252「
我也嘗試更改區域設置,stri_encode(stop_words$V1, "", "UTF-8")
和tail(enc2native(as.vector(stop_words[,1])),17)
。
我不認爲問題是與葡萄牙字母表。當我從上面的代碼中得到GitHub的stop_words時,我可以看到正確格式化的字符。你如何改變文件編碼? –
@OriolMirosa我改變了編碼從我的系統默認,這是ISO-8859-1之前有問題。我嘗試使用RStudio(重新打開編碼)更改它,然後重新排列數據。我也試着用'stringi'軟件包改變它。我認爲下面的答案是正確的,它是雙編碼莫名其妙,但我不知道爲什麼或如何解決它。 –
您是否試過'enc2utf8(as.vector(stop_words [,1]))'或'enc2native(as.vector(stop_words [,1]))' –