소품집

[웹 크롤링] 로케일에 대한 이해 본문

Web crawling

[웹 크롤링] 로케일에 대한 이해

sodayeong 2020. 4. 28. 21:18

로케일(Locale)이란?


  • 국가마다 서로 다른 문화를 가지고 있다 보니, 시간과 숫자등 표시하는 방법 등에서 상당한 차이를 보입니다. 따라서 운영체제(OS)는 국가마다 서로 다른 로케일을 제공하고 있음
  • 로케일은 국가마다 다음과 같은 여러가지 표시 형식을 설정하는 것
    • LC_COLLATE(문자 정렬), LC_CTYPE(문자처리), LC_MESSAGES(언어/문화)등

 

 

로케일을 왜 알아야 하나?


  • 한글 인코딩 방식이 로케일에 영향을 받기 때문
  • 아울러 EUK-KR 또는 CP949 인코딩 방식의 R 객체를 처리하지 못하는 함수가 있음. ex) html_table() 함수

 

 

로케일 관련 R 함수들


  • Sys.getlocale(): 현재 설정된 로케일을 확인
  • Sys.setlocale(category='LC_ALL', locale='locale name'): 로케일 설정을 변경
    • category 인자에는 'LC_COLLATE', 'LC_CTYPE', 'LC_MONETARY', 'LC_TIME' 등 개별 카테고리를 지정할 수 있으나 편의상 이 모든걸 통틀은 'LC_ALL'을 사용하여 지정
    • locale 인자에 지정할 locale name은 운영체제에 따라 서로 다름
    • Sys.setlocale() 함수 안에 아무런 인자를 넣지 않으면 운영체제의 default로 서정
    • 또는 c로 넣으면 기본값임!
  • localeToCharset(): 현재 설정된 한글 인코딩 방식을 확인

 

 

[참고]


 

 

문자열 깨질 때 로케일 설정 - window


# 문자열 깨질 때 로케일 설정 - 윈도우 
Sys.getlocale() 
localeToCharset() 

# 미국 로케일로 로케일을 변환하기 
Sys.setlocale(category = 'LC_ALL',locale = 'english') 
localeToCharset() 

# 우리나라로 로케일 변경하기 
Sys.setlocale(category = 'LC_ALL',locale='korean') 
localeToCharset()
728x90
Comments