我想使用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流就可以正常工作的原因,这就是为什么我建议您用ñ复制一个或两个示例的原因在他们之中。

08-27 14:45