处理特殊字符例如R中的重音

时间:2012-03-01 05:52:23

标签: r character

我正在将一些名称的网页抓取到数据框中

对于像“TomášRosický这样的名字,我得到一个结果”Tomá¡¡Rosický“

我试过

Encoding("Tomáš Rosický") #  with latin1 response

但不知道从那里去哪里以获得带有重音符号的原始名称。使用iconv没有成功

我会满意(甚至可能更喜欢)“Tomas Rosicky”的输出

4 个答案:

答案 0 :(得分:10)

您已阅读以UTF-8编码的页面。如果x是您的名称列,请使用Encoding(x) <- "UTF-8"

答案 1 :(得分:3)

要正确读取文件,请使用扫描功能:

namb <- scan(file='g:/testcodering.txt', fileEncoding='UTF-8',
what=character(), sep='\n', allowEscapes=T)
cat(namb)

这也有效:

namc <- readLines(con <- file('g:/testcodering.txt', "r",
encoding='UTF-8')); close(con)
cat(namc)

这将使用正确的重音

读取文件

答案 2 :(得分:3)

正确导出重音的方法:

enc2utf8(as(dataframe$columnname, "character"))

答案 3 :(得分:2)

你应该用这个:

df$colname <- iconv(df$colname, from="UTF-8", to="LATIN1")