====== Mac 한글 파일명 자소 분리 현상 ======
* [[https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EC%A0%95%EA%B7%9C%ED%99%94|유니코드 정규화 - 위키백과, 우리 모두의 백과사전]]
* [[https://markboy95.blogspot.com/2012/03/nfc-nfd_21.html|markboy's archive: NFC와 NFD 서로 변환하기]]
* MaxOSX는 ''NFD''를 윈도우즈나 리눅스는 ''NFC''로 유니코드 정규화를 수행해서 파일이름이 Max/Windows,Linux 상호간에 깨져보인다.
* [[https://www.j3e.de/linux/convmv/man/|convmv]] 을 통해 파일명의 인코딩을 바꿔줄 수 있는데 이때 ''NFC/NFD'' 변환도 가능하다.
# Windows Subsystem Linux에서 설치가능.
sudo apt-get install convmv
# NFD -> NFC (to Linux/Windows)
convmv -f utf-8 -t utf-8 --nfc --notest 파일명
# NFC -> NFD (to MacOS X)
convmv -f utf-8 -t utf-8 --nfd --notest 파일명
towinfilename.sh
#!/bin/sh
convmv -f utf-8 -t utf-8 --nfc --notest "$1"
===== Linux =====
* 리눅스는 언제 부터인가 ''NFD'' 파일명도 올바른 한글로 보여주는 것 같다. 다만, 실제 파일명은 보이는 것과는 다르게 자소 분리가 된 상태라서 문자열 복사를 해보면 잘 못돼있다.
===== Python =====
import unicodedata
unicodedata.normalize('NFC','Mac용 NFD 유니코드문자열') # NFC로 변환
unicodedata.normalize('NFD','Win/Mac용 NFC 유니코드문자열') # NFD로 변환
{{::python_unicode_normalize.png|}}
===== Java =====
* [[java:mac|Java와 Mac]]
* [[https://docs.oracle.com/javase/tutorial/i18n/text/normalizerapi.html|Java Normalizer API]]
===== Windows =====
* https://github.com/namhokim/HangulJasoFixer2
* [[:windows|Windows]] 에서 파일명 일괄 변환 기능