관리 메뉴

피터의 개발이야기

Mac 파일명 깨짐 해결 방법, 자소분리, 한글 자음모음 분리문제 본문

개발이야기

Mac 파일명 깨짐 해결 방법, 자소분리, 한글 자음모음 분리문제

기록하는 백앤드개발자 2023. 12. 13. 16:36
반응형

 

 

ㅁ 들어가며

 Mac으로 파일서버를 만들어 가족사진이나 다양한 컨텐츠를 관리하고 있습니다.

 관련 글 맥 파일서버 만들기, SFTP 설정방법에 자세히 설명하였어요.

 그런데 Window와 Mac을 함께 쓰다보면 한글이 깨지는 경우가 있었습니다.

그래서 이번 글에서는 이 한글문제가 언제 발생하는지, 해별방법이 무엇인지 정리하였습니다.
그리고 원도우과 맥 자소 분리 복구 프로그램을 누가 만들어 주셔서 아래에 설명을 덧달았습니다.

 

## 목차 ##

핵심요약

- 해결방법

추가 설명 부분
- 한글깨짐의 종류(인코딩 VS 조합형,완성형)
- 한글 조합형과 완성형이란?
- 한글 조합형 인식 문제(윈도우에서 맥을 인식못함)

한글이 깨지는 상황 분석
- 맥에서 파일 공유 활성방법
- 윈도우에서 맥으로 파일공유 접근
- 윈도우에서 맥으로 FTP 접근(FileZilla, Cyberduck)
- 윈도우 공유파일 설정 방법
- 맥에서 윈도우으로 공유파일 접근
- 맥에서 윈도우로 FTP 접근(FileZilla, Cyberduck)

SMB와 FTP의 속도와 성공률

결론

윈도우, 맥 자소 분리 복구 프로그램

 

ㅁ 해결방법

 핵심부터 간략히 설명을 드리자면,

원도우와 맥 환경에서 한글코드 방식(조합형, 완성형)이 차이로 인해 한글깨짐 현상이 발생합니다.

완성형을 사용하고 있는 윈도우에서는 맥에서 조합형으로 보내주는 한글을 조합하지 않고 그냥 보여줘서 자소분리가 됩니다.

그래서 맥에서 윈도우로 파일명을 전송 시 완성형으로 보내주지 않으면 한글이 깨지게 됩니다.

 

공유폴더(SMB)  한글문제 발생 여부
윈도우 공유폴더 맥에서 접속 시 한글문제 없음
맥 공유폴더 원도우에서 접속 시 한글문제 없음

 ㅇ 공유폴더(SMB)를 설정하면 윈도우와 맥에서 한글깨짐 문제는 없었습니다.

 ㅇ 다시말해, 맥에서 원도우와 파일공유 시 한글을 완성형으로 변경해주고 있습니다.

 

FTP 환경 FileZilla Cyberduck
윈도우 FTP 서버 일부 한글이 깨짐.
맥에서 한글파일 전송 시 발생
한글깨짐 없음
맥 SFTP 서버 한글깨짐 없음 한글깨짐 없음

 ㅇ 윈도우 FTP서버에 맥의 FileZilla로 접속하면 한글깨집니다. 

 ㅇ 하지만 Cyberduck을 통해 맥에서 접속 시에는 문제가 발생하지 않았습니다.

 ㅇ 반대로 원도우에서 맥 SFPT서버에 접속 시에는 문제가 없었습니다.

 

그래서 정리하면,

한글문제 해결방법(맥에서 완성형으로 변경하여 전송하는 경우)은

 - 공유폴더(SMB) 설정하여 접속

 - 윈도우에 FTP서버를 구축하여 Cyberduck으로 접속

 - 맥에 SFTP를 구축사용

 

아래의 글은 이해를 돕기 위해 추가적인 설명을 하였습니다.

 우선, 한글문제의 종류에 대해서 알아보겠습니다. (인코딩 VS 조합형 완성형 차이)

 위의 표의 상황별로 테스트하였습니다. 

    윈도우에서 맥으로, 맥에서 윈도우로
    공유폴더(SMB, Server Message Block)과 FTP 프로토콜(파일질라, Cyberduck)접근할 경우

한글 깨짐의 현상을 나열하여 정리하였습니다.

 

추가 설명 부분


ㅁ 한글깨짐의 종류(인코딩 VS 조합형,완성형)

 ㅇ 한글깨짐에는 인코딩문제UTF-8 조합형, 완성형 문제로 구분됩니다.

 

 ㅇ FTP로 접근 시 이런 경우는 한글을 인식하기 어렵운데, 이런 경우 인코딩 문제입니다.

 

 ㅇ 한글깨짐 예시를 위해 인코딩을 강제로 EUC-KR로 변경하였는데요.

 ㅇ 이런 경우 해결 방법은 적절한 인코딩인 UTF-8로 설정하시면 해결됩니다.

 

 ㅇ 이런 경우는 UTF-8 조합형, 완성형 문제입니다.

 ㅇ 제가 구체적으로 설명드리려는 한글깨짐은 이 부분에 관련되어 있습니다.

 ㅇ 한글 조합형과 완성형에 대해서 구체적으로 알아보겠습니다.

 

ㅁ 한글 조합형과 완성형이란?

ㅇ 조합형

  한글 조합형 인코딩 또는 조합형(NFD, Normalization Form Canonical Decomposition) 한글을 그 낱자에 따라 기계적으로 조합하여 표현하는 문자 인코딩들을 총칭하는 말입니다.

한글이 나오는 부분을 SI와 SO로 둘러 싸서 구분하고, 그 안에서는 홀낱자를 순서대로 배열하여 한글을 표현한다. 예를 들어 "위키백과"는 다음과 같이 표현합니다.

<SI>ㅇㅜㅣㅋㅣㅂㅐㄱㄱㅗㅏ<SO>

 

 한글 조합형은 맥OS에서 사용하고 있습니다.

ㅇ 완성형

  한글 완성형 인코딩 또는 완성형(NFC, Normalization Form Canonical Composition) 한글을 그 구조와 관계 없이 코드를 배당하여 표현하는 문자 인코딩들을 총칭하는 말이며, 흔히 한글 조합형 인코딩과 비교됩니다. 

 한글 완성형은 윈도우와 리눅스에서 사용하고 있습니다.

  

ㅁ 한글 조합형 인식 문제(윈도우에서 맥을 인식못함)

  맥과 윈도우를 혼용해서 쓰다보면 한글이 조합형으로 표기되는 문제점을 자주 접하게 됩니다. 이미 완성형을 사용하고 있는 윈도우에서는 맥에서 조합형으로 보내주는 한글을 조합하지 않고 있는 그대로 보여줍니다. 그리고 프로그램에 따라서 혹은 공유폴더의 접근에 따라서 완성형 일 때도 조합형일 때도 있었습니다. 그래서 예를 들어서 조합형으로 출력되는 경우를 알아보았습니다.

 

 

한글이 깨지는 상황 분석


 접근 테스트 시 파일 조회, 복사, 수정을 나누어 테스트를 진행하였습니다.

 읽은 때는 괜찮은데 복사를 하면 조합형으로 표시되는 경우가 있습니다. 

 

ㅁ 맥에서 파일 공유 활성방법

  맥에서 파일 공유 활성방법은 따로 정리하였습니다. 참조하세요.

ㅁ 윈도우에서 맥으로 파일공유 접근

 

 ㅇ 조회 시 한글이 완성형으로 표시됩니다.

 ㅇ 윈도우에서 맥의 공유폴더의 한글 파일명을 수정해도 둘다 완성형으로 보여집니다.

 

ㅁ 윈도우에서 맥으로 FTP 접근(FileZilla, Cyberduck)

- FileZilla

 ㅇ 조회 시 한글이 조합형으로 표시됩니다.

 

- Cyberduck

ㅇ 조회 시 한글이 풀어서 표시되었습니다.

 

정리하면,

  FTP 프로토콜을 사용하는 경우, UTF-8 완성형을 사용하는 윈도우에서는 조합형을 사용하는 맥의 한글을 풀어서 표시합니다.

  맥에서 파일공유를 활성화하고 SMB를 사용하여 파일 및 폴더 공유를 할 경우 한글 완성형으로 표시되었습니다.

 

ㅁ  윈도우 공유파일 설정 방법

  윈도우 공유파일 설정 방법은 따로 정리하였습니다. 참조하세요.

ㅁ 맥에서 윈도우으로 공유파일 접근

ㅇ Finder > 이동 > 서버에 연결... 을 클릭합니다.

 

 ㅇ smb://{ip주소}를 입력합니다.

 ㅇ 윈도우 컴퓨터의 등록된 사용자 정보를 입력합니다.

 ㅇ 로그인 계정은 어드민 권한이어서 윈도우에 로그인한 계정과 비번을 입력하면 됩니다.

 ㅇ 별도로 공유를 위한 계정을 만들고 권한을 설정하지 않았습니다.

 

 ㅇ 위에서 공유한 공유폴더에 접속합니다.

 

ㅇ 공유폴더에 한글테스트.txt 파일을 복사해 보았는데, 한글이 완성형으로 잘 보입니다.

 

 

ㅁ 맥에서 윈도우로 FTP 접근(FileZilla, Cyberduck)

- FileZilla

ㅇ 저의 경우 윈도우에 FTP 서버를 활성화하였습니다.

ㅇ 그래서 맥에서 윈도우 FTP 접속이 가능합니다.

ㅇ FTP 활성화는 윈도우 11 FTP 서버 설정을 참조하세요.

 ㅇ 이미 저장되어 있는 파일은 한글 완성형으로 잘 보입니다.

 ㅇ 하지만 파일명을 수정하고나 한글파일을 맥에서 윈도우로 옮기면 한글이 깨지는 현상이 있었습니다.

 ㅇ 참고로 윈도우 11 FTP 서버 설정에서 FTP 사이트 추가 시 콘텐츠 디렉토리를 D로 지정된 상태입니다.

 

- Cyberduck

 ㅇ 한글이 완성형으로 보입니다.

 ㅇ 파일 복사 수정 시에도 문제가 없었습니다.

 

정리하면,

  FTP 프로토콜을 사용하는 경우, UTF-8 조합형을 사용하는 맥에서는 완성형을 사용하는 원도우의 한글을 잘 표시하였습니다.

  원도우에서 개인네트워크 설정으로 파일공유를 활성화하여 파일 및 폴더 공유를 할 경우 한글 완성형으로 잘 표시되었습니다.

 

 

ㅁ SMB와 FTP의 속도와 성공률

추가적으로, 파일 전송 속도에 대해서 이야기 해 보도록 하겠습니다.

 

 제가 관리하는 2023년도 사진, 동영상 용량 및 갯수입니다.

결론적으로 SMB로 이 파일들을 통째로 관리하기는 어려웠습니다. 

 

ㅇ 속도차이 

 파일 한두개 공유는 SMB를 이용해도 큰 차이가 없었습니다.

 대량 파일(용량, 파일 수) 공유는 FTP가 속도면에서 빨랐습니다. FTP 프로토콜 자체가 파일 전송에 최적화되어 있어서 홈네트워크가 허용하는 최대 속도로 전송이 이루어졌습니다.

 SMB의 경우 파일 수가 많으면, 전송 준비 작업(파일 인덱싱)시 지연이 발했하였고, 전송을 시작하는 단계에서도 파일 전송 속도가 느렸습니다.

 

전송 성공률

 대량 파일 전송 시 SMB의 경우 간혹 실패하는 경우가 많았습니다.  FileZilla의 경우는 실패률이 현저히 적었고, 실패한다고 해도 전체 파일 전송이 실패하는 것이 아니라 파일별 실패이고, 사유를 확인하고 재전송을 할 수 있어서 편리하였습니다.

 

 

ㅁ 결론

 한글의 풀림현상, 혹은 한글의 자소분리 문제는 UTF-8이 역사적으로 조합형을 사용하다가 점차 완성형으로 발전하면서 완성형을 사용하는 윈도우+리눅스 환경조합형을 사용하는 맥 환경 차이에서 발생합니다. 더 구체적으로 말하자면, 완성형에서 조합형을 인지하는 과정에서 한글이 풀리는 현상입니다.

  이를 해결하기 위해서는 윈도우와 맥 환경에서 파일공유를 활성화 하거나, 윈도우 서버에 FTP서버를 구축하여 파일을 관리하면 됩니다. 대량의 파일을 백업하거나 수동으로 동기화 하는 과정에서는 윈도우에 FTP 서버를 활성화하여 FTP 툴(파일질라, Cyberduck)을 사용하면 한글 풀림현상은 해결됩니다.

 

복구 프로그램


ㅁ 윈도우 자소 분리 복구 프로그램

이미 깨진 파일명을 다시 복구시켜주는 프로그램이 있어서 여기 소개 합니다. namhokim님께서 개발해 주셨습니다.

공식 다운로드 페이지로 이동합니다.

윈도우 프로그램 사용설명은 설치없이 한글 자모/자소 분리 파일명 일괄 변환하기를 참조하세요.

 

맥용 일관 변환프로그램

https://github.com/namhokim/cocoa_app/releases/tag/Contact-v2.1

ㄴ 깃페이지 이동
ㄴ Contact.zip을 다운받아 압축해제합니다.

Contact.zip
3.27MB

위의 zip파일을 첨부하였습니다.

 

앱 실행

압축을 해제하면 위와 같은 아이콘 앱이 있습니다.

 

 

파일명이 깨진 파일을 드래그 앤 드랍하는 방식으로 복원합니다.

 

ㅁ 함께 보면 좋은 사이트

맥 파일서버 만들기, SFTP 설정방법

윈도우 11 FTP 서버 설정

한글 완성형 인코딩 위키

한글 조합형 인코딩 위키

반응형
Comments