Microsoft/Windows2018. 3. 23. 11:07

해결법 : 공식적으로 없다!

비공식적으로는 

1. 스크립트로 변환해주거나 (perl이나 python)

2. 복사하지 말고 그냥 직접 타이핑 하면 해결 -_-

3. 윈도우용 툴 발견!! 

[링크 : http://bryan7.tistory.com/751]


notepad(메모장)에 복사해도 이녀석 유니코드 지원하는 녀석이니 

보이는 건 정상적인데 붙여넣으면 도로묵이 되니 주의!



---

회사에서 대기업 쪽 관리 프로그램을 통해 파일을 업로드 하려는데(원청)

하청 업체로 부터 받은 파일이 이상하게 자소가 풀어져서 올라가고 깨진다고

난리길리 혹시나 해서 확인해봤더니

단순(?) 인코딩 문제라고 하기에는 조금 미묘하게 꼬인 녀석이었다.


아무튼 원인은 하청 업체에서 Mac을 쓰는 것으로 추정이 되는데

거기서 받은 파일이 윈도우가 아닌 Mac에서 생성되면서 보기에는 그럴싸한(?) 한글인데

실제로는 자소단위로 분리되서 저장된 NFD 방식으로 저장된 유니코드 였다는 것.


그러니까.. 나무위키 내용을 참고하자면

윈도우에서 NFC를 통해 '각'을 저장하면 유니코드로 0xAC01이 저장되고 땡인데

Mac에서는 0x1100 0x1161 0x11a8 로 저장이 된다.

자소에 대해서는 유니코드 상으로 실제로 규정된 코드니 잘못된 것도 아니고..

아무튼 Mac 에서는 자소 단위로 된걸 오토마타를 통해서 음절로 변환해야 한다.

폰트 테이블 상의 코드로 변환(?) 해서 출력을 하는 방식을 택한 듯 하다.

[링크 : https://namu.wiki/w/현대%20한글%20NFC%20↔%20NFD%20변환%20테이블]


물론 단순 수식으로 분리/합체가 가능하다

[링크 : http://dream.ahboom.net/entry/한글-유니코드-자소-분리-방법]


NFC로 저장되는 내용은 Syllable(음절) 구역이고


NFD로 저장되는 내용은 자소(초성/중성/종성) 구역이다.

---

Mac OS 에서는 NFD(Normalization Form Canonical Decomposition) 방식을 사용하고, 

Windows 에서는 NFC(Normalization Form Canonical Composition) 방식을 사용합니다

[링크 : https://blogs.technet.microsoft.com/.../파일명의-한글자모가-분해되어-보여지는-현상-unicode-nfd/]

[링크 : https://www.clien.net/service/board/kin/9058437]

[링크 : http://vicki.tistory.com]

Posted by 구차니