Home ChungLab Wiki
    • 설명
    • 못 고치는 문서
    • Menu
      • Navigation
      • RecentChanges
      • FindPage
      • 사이트맵
      • Help
      • HelpContents
      • HelpOnMoinWikiSyntax
      • 보기
      • 첨부
      • 정보
      • 원문 보기
      • 인쇄용 화면
      • 수정
      • 로드
      • 저장
    • 로그인

    Navigation

    • FindPage
    • HelpContents
    • FunReading
    2020-09-09 01:18:07에 수정된 2번째 판
    • Class
    • Statistics
    • RKorean

    R에서 한글이 깨질 때

    인코딩문제?

    컴퓨터에서 문자는 (그리고 모든 것은) 2진수로 저장된다.

    1. 컴퓨터가 처음 개발될 때 알파벳과 특수 문자를 포함하는 28 = 256개의 문자를 모아 8자리 이진수로 표현했고,

    2. 이를 ASCII (American Standard Code for Information Interchange) 코드라고 한다.

    3. 컴퓨터를 영어 문화권에서만 사용하면 ASCII 코드로 충분하고 아무 문제가 없다.

    알파벳이 아닌 문자 (한/중/일/등등등)는 각자 나라에서 정해진 방식으로 문자를 저장했다.

    • 게다가 시대마다 인코딩이 조금씩 달라져 참 거시기하다.
    • 한글의 예를 들면 춘추전국시대를 지나 euc-kr 이라는 방식이 정부 표준으로 자리잡았으나,
    • Microsoft는 이를 개량한 cp949 라는 방식으로 Windows 95에 탑재하여 이후 cp949가 공인 표준보다 더 표준처럼 쓰이게 됨.

    글로벌시대에 영어/한/중/일/태국/사우디/등등 여러 언어를 한 문서에 써야 할 경우가 종종 발생한다.

    • 기존의 나라별 문자 인코딩 방식은 이게 참 어렵다.
    • 지구상 모든 문자를 다 아우르는 universal code, 이름하야 unicode가 탄생한다.
    • 1991년 Launching 이후 더 많은 언어를 포함하며 꾸준히 업데이트 되는 unicode를, 그러나 Microsoft는 꾸준히 외면하다 Windows 10에서야 적용한다.

    R에서 한글이 깨지는 원인:

    • cp949로 저장한 한글을 unicode 방식으로 읽으려 하거나, (Windows 8이나 그 이전 Windows를 이용해서 자료를 저장했다.)
    • unicode 방식으로 저장한 한글을 cp949 방식으로 읽으려 하는 경우 (내 컴퓨터가 Windows 8이나 그 이전 Windows인데 자료는 Windows 10이나 macOS, Linux, Unix등에서 저장했다.)

    해결방법 (다음 셋 중 하나를 한다):

    • 파일을 읽을 때 인코딩을 지정해준다.
      • read.spss() function을 부를 때 reencode=TRUE 옵션을 준다: read.spss("filename", reencode=TRUE)
      • read.csv() function은 이렇게 쓴다: read.csv("filename.csv", fileEncoding = "euc-kr")
    • 이 블로그를 참고하여 R의 인코딩 방법을 수정한다.

    • 한글을 쓰지 않는다.

    Windows의 계정 이름이 한글인 경우?

    몇몇 영어권 windows software(예: RStudio)는 한글으로 된 파일 이름을 못 찾는다.

    • 파일 이름은 영어여도, 계정 이름이 한글이면 파일 경로상 한글이 존재하게 되고, 파일을 못 찾는다.

    해결방법 (다음 넷 중 하나를 한다):

    • 이 블로그를 참고하여 계정 이름을 영어로 변환한다.

    • 영어로 된 계정 이름을 하나 만들고 거기서만 RStudio를 쓴다.
    • 데이타를 드라이브 최상위 폴더에 저장한다. (D:\english_folder_name\data_file)
    • Apple Mac이나 Linux를 사용한다.

    macOS 인데도 한글이 깨진다?

    • R이 영어폰트를 사용하게 세팅된 경우임.
    • 이 블로그를 참고하여 한글폰트를 사용하게 세팅한다.


    /CentralLimitTheorem   /ChiSquared   /Clustering   /InstallR   /InstallRStudio   /Lies   /NormalDistribution   /RBasic   /RBasic1   /RBasic2   /RBasic3   /RCloud   /RIntro   /RKorean   /T-Test  
    Copyright © ChungLab. Built on MoinMoin and Bootstrap. All Rights Reserved.