본문 바로가기

DevStory

ZERO WIDTH NO-BREAK SPACE

며칠전부터 영 디버깅이 안되는 부분이 있었다..


파일에서 읽어오는 "nbsp"라는 String과

사용자가 입력한 "nbsp"라는 String이 equals를 하면 false가 나오는 것이었다.


공백이 있나? 로직이 잘못되었나?


해서 이래저래 막 디버깅해보고 바꿔보고 해봐도..

도무지 모르겠었다.


그래서 혹시나해서 파일에 직접 "nbsp"라고 한줄을 더 넣었다.


그랬더니, Map의 키에 nbsp가 두개가 생겼다.!

뭐여 이게..??




혹시나해서 원래있던 nbsp를 지우고 새로 입력해 넣었더니

정상작동을 한다. 뭔 상황인지도 모르고 상황이 해결되어버려서 그냥 놔둘까하다가..

문득, 혹시..? 해서 각 char의 유니코드 값을 찍어보았다.


                        D : 65279  <- ??? 응????

F : 110

D : 110

F : 98

D : 98

F : 115

D : 115

F : 112

D : 112


맨 앞에 110이 아니라 뭔가 큰 값이 나왔다.!


뭔가해서 찾아보니..

ZERO WIDTH NO-BREAK SPACE

란다..


단어도 처음들어본다..--; 암튼 이거 덕분에 며칠을 삽질했는데..

그래도 원인을 찾아서 다행이지 싶다... 아오..ㅠㅠ