윈도우에서 개발환경을 구성했던 것을 우분투로 이전하면서 이전에 윈도우 기반에서 압축했던 파일들을 다시 압축을 풀 경우가 생겼는데 한글로 된 파일명을 갖는 압축파일을 압축 해제하면서 인코딩을 정상적으로 인식하지 못하여 압축파일이 정상적으로 풀리지 않는 것을 보았습니다.
이를 해결하기 위해서 압축했던 파일의 문자인코딩형식을 알면 다행인데, 일단 윈도우 기반에서 압축했던 파일은 cp949 (euc-kr, MS949 등으로 알려진) 인코딩 캐릭터셋이라고 알려주면 됩니다.
콘솔에서 압축을 푸는 방법으로는 unzip 명령어를 이용하는 방법이 있습니다.
$ unzip -O cp949 <압축해제할 파일명>
위와 같이 -O 옵션을 사용하면 됩니다. 대문자 영문자 O를 사용합니다.
일단 콘솔로 위와 같은 명령어를 이용하면 정상적으로 압축을 해제 할 수 있습니다.
그렇다고 매번 콘솔을 띄워서 압축을 풀때마다 명령어를 치는 것은 번거로운일이죠.
이것을 해결하는 방법은 profile 을 수정하여 압축파일을 제어할 때 인코딩 캐릭터셋을 지정해주면 됩니다.
하지만 이것도 임시방편인 것이 cp949 이외의 것으로 압축된 것은 위와 같은 수작업(?)을 해줘야 한다는 것입니다. 하지만 저와 이글을 보는 대부분의 분들은 한국분들이고 일본어, 기타 외국어가 들어간 파일을 해제하는 경우는 생각외로 드물것이라 보고.. 그런 경우는 캐릭터셋을 지정해서 풀도록 하고, 한국사람이니 한국사람에게 맞춘 설정을 합니다.
역시 콘솔을 이용합니다.
시스템 전반적으로 설정을 하려면 /etc/profile 파일을 수정하면 되고, 사용자단위로 설정을 하려면 ~/.profile 파일을 수정하면 됩니다. 저는 혼자쓰는 시스템이니 /etc/profile 파일을 수정하는 것으로 해결했습니다.
$ sudo vi /etc/profile
$ sudo vi ~/.profile
파일의 맨 끝으로 이동해서 다음줄을 추가합니다.
########### 압축 해제 한글 깨짐 해결 #############
export UNZIP="-O cp949"
export ZIPINFO="-O cp949"
##################################################
파일을 저장하고 리부팅합니다. 그러면 파일탐색기등에서 압축을 풀더라도 한글이 깨지지 않게 됩니다. 끝.