커피닉스, 시스템 엔지니어의 쉼터
  zip파일 풀 때 한글파일명 깨지는 것 작성일 : 2003/10/09 02:34
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 10619
     
    한글파일명이 포함된 zip파일을 리눅스에서 바로 풀면 한글 파이명이 깨집니다.

    1) jar xvf 로 풀면 안깨집니다.
    2) 또다른 방법은 unzip을 패치하는 방법입니다. (좀 오래된 글)

    -----------------------------------------------------------------------------
    1) jar xvf로

    출처 : 리눅스사랑넷, http://linux-sarang.net/board/?p=read&table=tip&no=7325

    2176번: .zip 파일을 푸는 유틸리티
    글쓴이: 님      글쓴날: 2002-09-17 14:48:35     읽은수: 1276

    곤혹스럽게도 .zip 파일을 푸는 유틸리티가 뭔지 기억안날
    수가 있습니다. ( 당신도 나이 먹어봐 -.- )

    혹은 리눅스가 아닌 시스템에서 .zip 에 대한 유틸리티가
    설치되지 않았을지도 모르고요

    아럴때는
    jar xvf don.zip
    하면 현재 디렉토리에 잘 풀어줍니다.

    java도 안깔려 있으면 어쩌냐고요 -.-ㅋ

    언젠간 설치할 거,... 이제 때가 된거죠 뭐


    2176번 글의 답장글: RE: .zip 파일을 푸는 유틸리티
    글쓴이: 다그    글쓴날: 2002-10-25 18:32:25     읽은수: 82

    파일명이 한글로 되어있는 파일들을 윈도에서 ZIP으로 압축한 것을
    리눅스에서 UNZIP으로 푸니까 파일 이름이 다 깨져서 나오더군요.
    잘못된 유니코드라 나오면서..

    님이 말씀하신 jar로 압축해제하니까 그런 문제가 없네요! 한글이
    제대로 나오는군요.

    고맙습니다.

    -----------------------------------------------------------------------------
    2) unzip 패치

    출처 : http://www.kr.freebsd.org/ml/hangul-patch/2000/03/msg00007.shtml

        * To: devel@xxxxxxxxxx, hangul-patch@xxxxxxxxxxxxxx
        * Subject: unzip hangul patch
        * From: ChiDeok Hwang
        * Date: Thu, 9 Mar 2000 13:56:48 +0900
        * Content-transfer-encoding: 8bit
        * Content-type: multipart/mixed; boundary="tsOsTdHNUZQcU9Ye"
        * Reply-to: hangul-patch@xxxxxxxxxxxxxx
        * Sender: owner-hangul-patch@xxxxxxxxxxxxxx

    windows에서 생성된 zip파일에 한글 파일명이 포함되어있는 경우
    linux에서 unzip을 이용해 풀때 한글명이 깨지는 부분에
    대한 패치입니다.

    --- fileio.c.orig       Thu Mar  9 13:29:08 2000
    +++ fileio.c    Thu Mar  9 13:49:44 2000
    @@ -1803,8 +1803,8 @@

             /* translate the Zip entry filename coded in host-dependent "extended
                ASCII" into the compiler's (system's) internal text code page */
    -        Ext_ASCII_TO_Native(G.filename, G.pInfo->hostnum,
    -                            G.crec.version_made_by[0]);
    +        /*Ext_ASCII_TO_Native(G.filename, G.pInfo->hostnum,
    +                            G.crec.version_made_by[0]);*/

             if (G.pInfo->lcflag)      /* replace with lowercase filename */
                 TOLOWER(G.filename, G.filename);


    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=93