我想使用grep搜索例如“España”的西班牙语单词,例如:
neg_14<-grep("CataluñaesEspaña",doc0$text,ignore.case=TRUE)
但是正确的编码是什么?书写字符“ñ”的正确形式是什么?
非常感谢
我要分析的文本是:
str(doc0$text)
chr [1:2858732] "RT directe indirectecat Una nit dencartellada o perqu guanyarem http//tco/Sp09q6MVvq" ...
如果我使用此命令:
Encoding(doc0$text)
输出全是“未知”。
我在Linux上工作
最佳答案
这是带有所有未知编码的向量:
> places
[1] "España" "Scotland" "CataluñaesEspaña" "Birmingham"
[5] "France" "CataluñaesEspaña"
> Encoding(places)
[1] "unknown" "unknown" "unknown" "unknown" "unknown" "unknown"
我现在不得不猜测。是“UTF-16”吗?
> iconv(places, from="UTF-16", to="UTF-8")
[1] NA "捓瑯慬摮" "慃慴畬뇃敡䕳灳썡憱"
[4] "楂浲湩桧浡" "牆湡散" "慃慴畬뇃敡䕳灳썡憱"
嗯,可能不是。是“latin1”吗?
> iconv(places, from="latin1", to="UTF-8")
[1] "España" "Scotland" "CataluñaesEspaña"
[4] "Birmingham" "France" "CataluñaesEspaña"
嗯,但不正确。一直是“UTF-8”吗?
> iconv(places, from="UTF8", to="UTF-8")
[1] "España" "Scotland" "CataluñaesEspaña" "Birmingham"
[5] "France" "CataluñaesEspaña"
好吧,看起来不错!让我们设置吧!
> Encoding(places)="UTF-8"
> Encoding(places)
[1] "UTF-8" "unknown" "UTF-8" "unknown" "unknown" "UTF-8"
剩下的
unknown
是因为它们没有使用任何特殊字符。您需要弄清楚字符串的编码方式,然后尝试一下。如果您从280万个字符串中选择了一些麻烦的字符串,则可以看到没有270万个
unknown
流就可以正常工作的原因,这就是为什么我建议您用ñ复制一个或两个示例的原因在他们之中。