Seunghyun Yoo

Posts | Development | About

[KR] UTF-8 Everywhere!

Historical yearly trends in the usage of character encodings for websites에 따르면 88.3% 웹사이트가 UTF-8 인코딩을 사용함을 알 수 있다. 물론 새로 만들어지는 페이지의 인코딩이 utf-8이라 점점 점유율이 높아지는 것이라고 판단할 수도 있다. 2010년 불과 50.6%의 웹사이트가 UTF-8을 사용했음을 감안한다면 지금의 수치는 상당히 높아진 것이다. ISO-8859-1(Western Europe)이나 Windows 1251(Eastern Europe; Кирилица), SHIFT-JIS, GB2312 등이 그 뒤를 따르고 있다.

재미있는 점은 다른 legacy 인코딩들은 사실상 UTF-8의 편리성과 다국어 지원을 감안하여 점차 사용되지 않고 있는데, EUC-KR만 유달리 0.3%->0.2%에서 0.4%로 오히려 증가한 수치를 보이고 있다. 상황이 다른 점이 있다면 한국에서는 여전히 윈도우 시스템이 주력(ActiveX…)이고 따라서 EUC-KR로 인코딩해도 큰 불편함을 못 느끼는 것일까… 더군다나 외국인들은 굳이 한국어 페이지에 접근할 이유가 없을테니… 하지만 1% 미만의 수치이니 무시해도 좋을만하다.

한편 영화 자막 파일은 보통 EUC-KR로 인코딩되는데, 대략 절반 이상 넘는 자막 파일들이 그렇게 되어 있는 것 같다. 그러므로 동영상 플레이어 설정을 EUC-KR로 맞춰놓게 되는데, 향후 만들어지는 파일도 UTF-8보다는 관성에 의해서 EUC-KR로 인코딩하고 마는 것이다.

이는 콘솔 창에서 iconv -f euc-kr -t utf-8 랑 파이프 연산이랑 짬뽕해서 쓰는 것이 일반 유저들에게는 쉽게 느껴지지 않아서라 생각했고 직접 웹사이트를 하나 만들어보았다. 솔직히 말하자면 drag and drop을 구현해보고 싶어서 만든 사이트다. 서버에서는 업로드된 파일의 인코딩을 자동으로 detect한 다음(chardet library) iconv를 수행하고 세션 체크한 다음에 파일을 보내주면 된다.

간단한 웹사이트를 만들어보면서 PHP에서 session을 관리하거나 파일로 다운로드 받을 수 있도록 넘겨주는 부분을 다시 되짚을 수 있었다. 확실히 예전 내가 하던 웹프로그래밍 노가다보다 좋은 라이브러리도 많고 진짜 개발환경이 편리해짐을 느낄 수 있었다. :)