ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • macOS 한글 자소분리 해결 팁
    apple/mac 2020. 4. 15. 14:01

    맥에서 저장한 한글파일명이 윈도우에서는

    'ㅇ ㅏ ㄴ ㄴ ㅕ ㅇ ㅎ ㅏ ㅅ ㅔ ㅇ ㅛ.pdf' 로 보입니다. 맥에서는 정상으로 표시되어 이메일 첨부파일로 외부에 보낸 경우 난감한 상황이 오기도 하는데요..

     

    먼저 이 문제는 macOS의 문제이기 보다는 윈도우의 문제라고 봐야 합니다.

     

    이유는 아래 표준 정규화 인코딩 방식이 있는데  

    맥에서는 조합형, 완성형 모두 지원하지만  윈도우에서 완성형 인코딩만 제대로 표시하기 때문입니다.

     

    [표준 정규화 인코딩 방식]

    macOS에서 한글 인코딩 : NFD(Normalization Form Canonical Decomposition) = 조합형

    윈도우에서 한글 인코딩 :  NFC(Normalizaiton Form Canonical Compostion) = 완성형

     

    근본적으로 해결이 되려면

    1) 윈도우에서 표준 정규화 인코딩 방식 2가지를 지원하거나

    2) 맥에서 한글파일을 처리할 때 완성형(조합형이 아닌)으로만 인코딩 해야 하는 것이죠.

     

    원인이 위와 같이니 불편하지만 꼼수로 해결하는 방법이 있습니다.

     

    1) 드롭박스, 구글드라이브, 원드라이브 등에 맥에서 생성된 파일을 동기화 시키면 파일 인코딩이 완성형으로 재 인코딩 됩니다.

     저는 시놀로지 나스를 사용하는데 'Synology Drive' 를 이용하고 있습니다.

     

    2) macOS가 주력이고 이메일을 보낼 때 한글파일명의 첨부파일만 문제라면 Outlook 이메일 클라이언트를 이용하여 해결했습니다.

     (검색하다 알게 된 정보지만 웹용 지메일을 이용해도 된다고 합니다.)

     

    3) macOS에 convmv를 설치하여 수동으로 인코딩을 바꾸는 방법입니다.

     

    아래 링크에 자세하게 나와있습니다.

    https://tt.kollhong.com/79?category=674974

     

    [요약]

    1) 터미널 실행 > 'brew install convmv' 로 convmv 설치

    2) 사용법 : convmv -f utf8 -t utf8 --nfc --notest  <filename>

    3) Automator에 등록, 파일더에서 우클릭으로 쉽게 사용하도록 설정

     

     

     [내용추가 2020-01-05]

    나모찾기님이 만들어주신 좋은 유틸리티 추천드립니다.

     

     

    convmv 사용이 번거로워 UI가 있는 애플리케이션을 만들었습니다.
    맥용: https://namocom.tistory.com/901
    윈도우용: https://namocom.tistory.com/630



    출처: https://vhrms.tistory.com/888 [행복한 길]

    댓글 7

    • 나모찾기 2020.10.04 07:59 신고

      convmv 사용이 번거로워 UI가 있는 애플리케이션을 만들었습니다.
      맥용: https://namocom.tistory.com/901
      윈도우용: https://namocom.tistory.com/630

    • W.S. Yang 2020.11.10 11:30

      https://ko.wikipedia.org/wiki/KS_X_1026-1
      "옛한글의 경우... KS X 1026-1은 이런 경우에 현대 한글 완성자를 사용하지 말고 조합형 한글 낱자들만을 사용할 것을 요구한다..." 문구가 있습니다.
      반대의 경우, 즉 현대한글의 경우 "한글 완성자"를 요구하는 규정이 있습니다. 데이터 혼란을 줄이기 위한 규정입니다. 따라서 mac이 "정보교환용"으로 외부에 데이터를 전송할 때는 꼭 "한글 완성자" 형태로 바꿔서 전달해야 합니다.^^

      • vhrms 2021.01.05 01:21 신고

        댓글로 정보 알려 주어서 고맙습니다~

      • ㅇㅇ 2021.05.09 00:12

        현대 한글 완성자는 반드시 한글 글자 마디(Hangul Syllables, U+AC00~U+D7AF) 영역의 문자로 표현해야 하며, 조합형 한글 낱자로 표현하지 않는다.

        라고 되어있네요. 결국 맥의 문제였군요.

    • pwiz 2020.12.01 13:02

      https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/normalize

      str.normalize([form]) 에서 처럼 정규화 방법도 있네요!!

Designed by Tistory.