반응형


이전에 IE에서 한글 파일명을 다운로드 받을때 한글 파일명이 깨지는 현상을 쓴적이 있었는데


다시 확인해보니 똑같은 에러가 다시 발생하고 있는걸 확인했다.


왜이런지 확인하던 중 피들러를 키고 다운로드할때 이런 현상이 발생을 하는걸 알게되었다.


피들러에서도 인코딩에 관여를 하는것같다.


어쨌든... 


근본적인 문제를 알아내기 위해 나름 열심히 추적을 해봤다.


네이버의 메일의 첨부파일을 다운로드 할때 어떻게 패킷이 주고 받는지 확인을 해보았더니


파일명을 urlencode로 인코딩해서 보내는걸 확인했고


이걸 그대로 적용했더니.. 깨짐현상 없이 정상적으로 한글파일명을 다운받는걸 확인하게 되었다.



왜 urlencode를 쓸까...


크롬에서는 urlencode를 안써도 한글파일을 깨짐없이 보여주는건 왜일까



크롬은 자동으로 인코딩과 디코딩을 해주고,


IE에서는 url인코딩을 해주어야 한다.




이 작업이 이뤄지기 전에 서버스크립트에서 중요한 작업이 있는데


한글파일명은 DB에 있을것이고(대부분)


DB의 인코딩과, 문서의 인코딩, 서버의 인코딩을 모두 맞추는 작업이 사전에 이뤄져야 한다.


그 이후 헤더에 파일명을 URLENCODE 해서 보내주면 끝 !



참 네트워크는 알면 알수록 어렵고 신기하다..






반응형

+ Recent posts