I'm able to scrape and display Chinese characters like this:
pacman::p_load(rvest, stringr)
Sys.setlocale("LC_CTYPE", locale="Chinese")
cheese <- read_html("http://www.kekenet.com/read/story/cheese/")
links <-
cheese %>%
html_node(".box") %>%
html_nodes("li") %>%
html_nodes("a")
links <- links[grepl("read",links)]
url_pattern <- "http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"
links <- str_extract(links, url_pattern)
links <- links[grepl(".shtml",links)]
text <- data.frame(english=as.character(), chinese=as.character(), stringsAsFactors = F)
for(u in links){
cheese <- read_html(u)
tmp0 <-
cheese %>%
html_nodes(xpath = '//*[@class="qh_en"]') %>%
html_text()
tmp0 <- gsub('\"', "", tmp0, fixed = TRUE)
tmp1 <-
cheese %>%
html_nodes(xpath = '//*[@class="qh_zg"]') %>%
html_text()
tmp1 <- gsub('\"', "", tmp1, fixed = TRUE)
if(length(tmp0)==length(tmp1)){
tmp <- data.frame(english=tmp0, chinese=tmp1, stringsAsFactors = F)
text <- rbind(text, tmp)
}
}
However, even when I set the file encoding, when I save it to CSV like this
write.csv(text, "english_chinese_test.csv",fileEncoding = "UTF-8")
the resulting file has values like this instead of Chinese characters:
2éè°è¨¤o¥ééo1Ã¨Â·ï¿ â€²Ë‰Ã¨Ë‰â€²3ˉo¤§¤°ooÃ©ï¿ Â¨3¨è§1|èaᱎo|è3ˉè§ˉ1èa·±aooèˉ′è§1ˉaooé飰é |-¤èo飰éoo¨é1è1è·è¤oè°èˉ′aˉooèμ·¥èˉ1é£aoo·èa¥¨¤°±é£°éè°±ˉèˉ′o1é′oÂ±Ã¨Â§Â±Ã©Ã©ï¿ o- è′oééé£1oo°¥éao¥μ1·o "è°èoèèèè°èˉ′μˉo1é′o±1oo¤§éèaÂ·Â±Ã¨ï¿ oo
" å¬äº†è¿™ç•ªè¯ï¼Œæ‰€æœ‰äººéƒ½æƒ³åˆ°äº†è‡ªå·±çš„生活,大家安é™ä¸‹æ¥ã€‚ 呃,æ°è¥¿å¡æ¸…了清嗓åï¼Œæ‰“ç ´äº†å®é™ï¼Œå¤§å®¶å¥½åƒéƒ½åœ¨è°ˆè®ºè‡ªå·±çš„工作,但是我å¬åˆ°äº†è¿™ä¸ªæ•…事以åŽï¼Œå´æƒ³åˆ°äº†æˆ‘的个人生活。我觉得我目å‰çš„æƒ…况,我的家åºå…³ç³»ï¼Œå°±åƒä¸€ä¸ª'旧奶酪',上é¢é•¿æ»¡äº†éœ‰èŒã€‚ 柯瑞笑出声æ¥ï¼Œè¡¨ç¤ºèµžåŒï¼šæˆ‘也是。我也许我现在最该采å–è¡ŒåŠ¨çš„å°±æ˜¯è®©ä¸€æ®µä¸æ„‰å¿«çš„关系尽快过去。 å®‰æ°æ‹‰å驳é“:我ä¸åŒæ„ä½ çš„è§‚ç‚¹ï¼Œä¹Ÿè®¸è¿™ä¸ª'旧奶酪'åªæ˜¯ä¸€ç§æ—§çš„行为方å¼ã€‚æˆ‘ä»¬éœ€è¦æ”¾å¼ƒçš„åªæ˜¯å¼•èµ·è¿™ç§çŠ¶å†µçš„æ—§çš„è¡Œä¸ºæ–¹å¼ï¼Œè€Œä¸æ˜¯è¿™ä¸ª'奶酪'ã€‚è¿™æ ·æˆ‘ä»¬æ‰ä¼šæœæ›´å¥½çš„æ€ç»´å’Œè¡Œä¸ºæ–¹å¼è½¬å˜ã€‚