민서네집

[mac]이클립스(STS)에서 한글이 있는 파일 이름 보이게 하기. 본문

Mac

[mac]이클립스(STS)에서 한글이 있는 파일 이름 보이게 하기.

브라이언7 2013. 8. 10. 01:47

[2015-05-22]

어제 Mac OS 10.10.3 Yosemite 버전에서 테스트를 해 봤다.

sts는 3.6.4 최신 버전이다.

그런데 아래 블로그 글에서 지적한, 한글과 관련된 내용은 대부분 해결이 된 상태였다.

우선 /etc/launchd.conf 파일을 만들지 않아도 sts 에서 파일 이름에 한글이 들어간 파일이 Package Explorer View와 Navigator View 에서 보인다.

한글 파일명이 제대로 보이는가가 문제인데, SVN에서 새로 받던가 아니면 외장하드에서 파일을 Copy하는 경우 이클립스에서도 제대로 보인다. 그런데 Windows에서 workspace를 통째로 압축해서 Mac으로 copy 한 다음에 압축을 푸는 경우에 한글로 된 파일명이 깨져 보인다. 이것은 Windows에서 압축할 때 파일명을 인코딩하는 방식이 Mac과 틀려서 발생한 현상이라고 생각된다. 아마도 압축할 때 인코딩 방식을 선택할 수 있으면 UTF-8 로 하면 Mac에서 압축을 풀 때도 한글 파일명이 안 깨질것 같다.


sts 에서 Eclipse Marketplace 에서 subclipse 를 찾아서 설치하고, http://bryan7.tistory.com/123 글을 참조해서 MacPorts를 설치하고, JavaHL 라이브러리를 설치했다.


[최초 등록일] 2013-08-10


Mac OS X 10.7.5 를 사용 중이다.


황당하게도 분명히 파일이 존재하는데도 이클립스(STS)의 Package Explorer 와  Navigator 뷰에서 파일이 보이지 않는 현상이 생겼다. (파일 이름에 한글이 들어간 경우)


eclipse.ini (STS.ini) 파일에서 


-Dfile.encoding=UTF8

-Dsun.jnu.encoding=UTF-8


위와 같이 추가해주고, 다시 STS를 실행해도 마찬가지 였다.


그러던 중에 이런 현상과 정확히 일치하는 내용의 웹페이지를 발견했다.


Non-ASCII filename problem on Mac x86_64 with Oracle JREs


[출처] https://bugs.eclipse.org/bugs/show_bug.cgi?id=397226



Finder 나 Dock 에서 이클립스(혹은 STS)를 실행시키면 Language 설정이 적용이 안되는데, 터미널에서 STS를 실행시키면 올바로 인코딩 설정이 된다고 한다.

터미널에서 매번 이클립스를 시작하기가 귀찮다면, 위 홈페이지에 나와 있는 대로

/etc 폴더 밑에 launchd.conf 파일을 만들어서 UTF-8 설정을 주면 된다.

다음과 같이 /etc 디렉터리에 launchd.conf 파일을 만들어서

sudo vi /etc/launchd.conf 

setenv LANG en_US.UTF-8

위 한 줄을 추가해주고, mac 을 재시작하고 나서, Dock 에서 이클립스를 실행시키고, 이클립스에서 한글 파일명이 들어간 상위 폴더에서 새로고침을 해 주자.

이제 한글로 된 파일명을 가진 파일을 이클립스 안에서 볼 수 있고, 내용도 편집할 수 있다.

그러나 svn 에서 파일명에 한글이 들어간 경우는 svn synchronize 했을때 파일이 있는데도 인식을 못한다.

구글에서 검색해 보니 이것은 유니코드 문자를 읽어들이는 방식이 mac 이 다른 OS 와 틀려서 발생한 문제라고 한다.

검색해보면 svn 의 소스를 고쳐서 다시 컴파일 하는 방법으로 수정할 수 있다고 하는데, svn 서버가 외부에 있는 경우는 이 방법으로는 되지 않을것 같고, 

이클립스 Preference > Team > SVN 하단에 SVN Interface 로 설정된 프로그램(모듈?)에서 수정되어야 할 것 같다.
javaHL 혹은 SVNKit.

java 에서 유니코드를 읽어들이는 방식을 바꾸는 방법은 다음 블로그를 참조하면 된다.


javaHL 혹은 SVNKit 의 소스를 구해서 위 블로그의 내용을 적용해서 다시 컴파일하면 될지도 모르겠다.

참고로 Mac OS X 의 Terminal 에서 locale 관련된 issue 를 해결하는 방법은 다음 블로그를 참조해서

.profile 에 설정했다. (나의 경우는 Terminal 에서 locale 관련된 issue 가 발생한 상황은 아니었다.)


How to fix locale issues in Mac OS X Lion terminal (Mountain Lion has the same issue)


http://yzisin.wordpress.com/2012/01/09/how-to-fix-locale-issues-in-mac-os-x-lion-terminal/



블로그에 있는 대로 .bash_profile 에 설정했더니 .profile 의 내용이 적용되지 않아서 .profile 에 다음과 같이 추가했다.


export LC_CTYPE=en_US.UTF-8

export LC_ALL=en_US.UTF-8


위와 같이 설정을 안해도 /etc/launchd.conf 파일만 만들어두면 이클립스 안에서 한글 파일명이 잘 보이는데,

Terminal 에서 


set $LANG 


을 해보면


en_US.UTF-8


라고 나온다. (이렇게 설정되어 있기 때문에 터미널에서 한글 파일명이 잘 보이는것 같다.)


그래도 터미널을 사용하는 다른 프로그램에서 encoding 관련된 다른 issue 가 발생하기 전에 미리

LC_CTYPE 과 LC_ALL 환경변수를 설정해 두는 것이 좋을것 같다.


Comments