지난 번에 말한 iOS나 mac에서 한글 이름으로 된 파일이 되지 않는 이슈를 어떻게 해결했는지 알아보았다.
먼저 텍스트 정규화 방식에 대해서 간단하게 정리하고 넘어가려고 한다.
유니코드는 전 세계의 문자를 일관되게 표현할 수 있도록 설계된 표준이다.
이런 유니코드 문자열을 정규화 해서 나타내는 방법이 총 4가지이다.
NFC, NFD, NFKD, NFKC
그 중 대표적인 두가지 NFC, NFD를 보자면
NFKC와 NFKD는 또 다른 NFC, NFD 정규화 방식이라고 한다.
자세한 것은 여기에서 보자.
아무튼 난 파일 이름 검색이 정상 작동되게 하기 위해서 파일 이름을 NFC 방식으로 변형한 후 검색하게 수정하였다.
unorm_dart 라이브러리를 사용하여 파일 이름을 정규화 시켜주었다. 지난 번에 채팅 구현할 때 iOS에서 파일 전송할 경우 파일 이름이 깨져서 나온다는 이슈가 있었을 대 이 라이브러리를 사용했었는데 이번에도 사용하게 되었다.
사실이 라이브러리 안까지는 파보지 못했다...
다음에 어떻게 정규화 시키는지도 한번 파보아야겠다.