NFC? NFC???
JAVA / 2012. 6. 15. 14:51
파일업로드와 관련하여 코딩을 하던 도중(부사수한테 시킨일이지만...) 업로드된 파일명(한글)이 자소분리가 되는 현상이 발생하였습니다. (디버깅해서 확인할 때는 한글이 잘 보이는데, DB에 넣을 때는 자소가 분리되었습니다.)
이래저래 검색을 해본결과 유니코드의 정규화 때문에 발생하는 문제라 하는 군요.
맥에서는 NFD 방식, 나머지는 NFC 방식인데 부사수놈의 컴퓨터가 NFD 방식으로 넘겨주었나봅니다.
훗날을 대비하여 아래와 같이 방어 코드를 작성하였습니다.
String originFileName = "한글파일명.txt";
String normalizedFileName = Normalizer.normalize(originFileName, Normalizer.Form.NFC);
// normalizedFileName 사용
참고자료
http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=39275