한글이 깨지는 경우 :: R을 이용한 웹 크롤링 - mindscale
Skip to content

한글이 깨지는 경우

텍스트를 추출했을 때 한글이 깨지는 경우가 있습니다.

text1
[1] "\xc7ѱ\xdb\xc0\xcc \xb1\xfa\xc1\xf6\xc1\xf6 \xbeʰ\xed \xc0\xdf \xb3\xaa\xbfɴϴ\xd9"

rvest 패키지의 repair_encoding 함수를 이용하면 자동으로 인코딩을 고쳐줍니다.

> library(rvest)
> repair_encoding(text1)
Best guess: EUC-KR (100% confident)
[1] "한글이 깨지지 않고 잘 나옵니다"

그러나 repair_encoding으로 자동 수정이 안되는 경우가 있습니다.

> text2
[1] "\xbeȳ\xe7\xc7\u03fc\xbc\xbf\xe4"
> repair_encoding(text2)
Error: No guess has more than 50% confidence

guess_encoding을 이용해 확인해보면 여러 가지 인코딩이 후보로 나오는 것을 볼 수 있습니다.

> guess_encoding(text2)
  encoding language confidence
1   KOI8-R       ru       0.33
2  GB18030       zh       0.10
3   EUC-JP       ja       0.10
4   EUC-KR       ko       0.10
5     Big5       zh       0.10

이때는 iconv 함수를 이용해 수동으로 인코딩을 수정해줍니다.

CP949에서 UTF8로 변환하는 경우

iconv(text2, 'CP949', 'UTF8')

UTF8에서 CP949로 변환하는 경우

iconv(text2, 'UTF8', 'CP949')