[Emacs] R 과 Emacs 의 만남 중에서 고쳐야 할 것 (인코딩 문제)

R은 리습계열의 방언에서 출발했다는 이야기가 있습니다. 그래서 인지 정말 놀라울 정도로 이맥스(Emacs)와 잘붙습니다. 게다가 이맥스(Emacs) 와 잘 붙을 수 있게 해주는 모듈이 요즘 빅데이타 의 붐을 타고 계속해서 업데이트 되고 있습니다. 


ESS (Emacs Speaks Statistics) 는 참으로 멋진 줄임말이죠? 이 패키지 모듈을 쓰면 이맥스 상에서 완벽하게 R 과 함게 동작시킬 수가 있습니다. 다만 항상 이런것을 이용할 때의 문제점이 있습니다. 바로 인코딩 문제죠 한글을 입력하면 상태창에서 한글이 완벽하게 깨집니다. 방법은 간단합니다. 


.emacs 파일에 다음과 같은 부분을 추가해주면 됩니다. 




(add-hook 'ess-R-post-run-hook

          (lambda () (set-buffer-process-coding-system

                       'utf-8-unix 'utf-8-unix)))


그리고 이맥스를 재시작하면 깔끔하게 해결이 됩니다. 


추가로 library 명령을 써서 패키지를 로딩하고 나면 한글이 깨지는 경우가 발생합니다. 골치가 아프죠. -ㅅ- 저 같은 경우에는 


library(sqldf) 


를 쓰는 경우에 발생했습니다.  몇군데를 알아봤지만 이게 버그인건지 이맥스 자체의 문제인지는 알아보기 힘들더군요. 단지 interactive R 상에서 


Sys.setlocale ("LC_ALL", "ko_KR.UTF-8")


를 실행해주니 다시 돌아오더군요.