utf-8 & euc-kr

Development/Common 2012. 1. 19. 09:35

한국어 문서를 제공하는 웹 사이트에서 흔히 쓰는 문자 인코딩은 EUC-KR 입니다.

마이크로소프트 기반 제품에서는 "ks_c_5607_1987" 을 쓰기도 한다만, 이것은 올바른 이름이 아닙니다.

 

EUC-KR 은 2byte 로 표현할 수 있는 한글 음절의 수가 2350자로 제한되어 있습니다.

따라서 '','','' 등의 글자를 표현하기 위해서는 8byte 를 써야 합니다.

 

하지만 KS X 1001 부록 3에서 규정한 이 방법은 mozilla firefox 등 gecko 기반 브라우저만 지원합니다.

 

따라서... 모든 브라우저에서 현대 한국어의 모든 음절을 불편없이 쓰기 위해서는 유니코드에 바탕을 둔 인코딩 방법인 UTF-8, UTF-16LE (LE 는 Little Endian. 일부 Windows 기반 프로그램에서 'Unicode' 라고 부르는 인코딩 방법은 실제로는 UTF-16LE 입니다), UTF-16BE (BE 는 Big Endian) 등을 써야 합니다.

 

몇 년 전과는 달리 UTF-8, UTF-16 등을 지원하는 문서 편집기(Windows XP 에서는 노트패드나 워드패드도 지원)와 웹 저작 도구 (예를들어 Dreamweaver, Nvu, Ms FrontPage 등)를 쉽게 구할 수 있습니다.

 

Oracle, DB2 등 상용 DBMS 는 물론이고, MySQL, Postgres 등 open source DB 도 UTF-8 을 잘 지원하며, Linux 의 기본 인코딩도 UTF-8 입니다.

따라서 UTF-8 (혹은 UTF-16)을 사용할 것을 강력하게 권고 드립니다.

 

HTML 문서에 UTF-8 을 사용하면 한글 이름을 지닌 파일을 HTML 문서에서 참조할 때 EUC-KR 문서에서 하듯이 한글 부분을 %-escape 하지 않아도 됩니다.

즉, EUC-KR 문서에서는 'http://www.example.com/%B0%A1%B0%A2.jpg' 라고 해야 하지만, UTF-8 문서에서는 'http://www.example.com/가각.jpg' 라고 할 수 있습니다.

 

이외에도 한국어가 아닌 다른 언어를 지원하거나 (예를들어 한국인을 위한 중국어/일본어/러시아어 사전이나 언어 교육용 웹 사이트), 장차 해외 시장으로 진출할 때 유니코드 기반으로 작업하면 훨씬 편리합니다.

출처 - http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10503&docId=70743117&qb=dXRmOCBldWNrcg==&enc=utf8&section=kin&rank=2&search_sort=0&spq=0&pid=gxOBEc5Y7vsssaNxcthssc--137862&sid=TxdjmM9PF08AAFcxDGY  


===================================================================================

 

UTF-8 은 EUC-KR 보다 표현 가능한 문자 수가 많습니다. EUC-KR 에는 기껏해야 한글과 한자, 조금의 일본어 문자가 포함되어 있는 것에 비해, UTF-8 은 현재 유니코드로 나타낼 수 있는 거의 모든 언어의 문자가 존재합니다. 또한, EUC-KR 에 없는 옛한글도 UTF-8 에 있어서, 한글을 잘 사용하는데도 UTF-8 이 필수입니다.

리눅스 세계에서 UTF-8 은 큰 대세입니다. UTF-8 에서 잘 동작하고 EUC-KR 에서는 오동작을 하는 프로그램이 차츰차츰 늘어나고 있습니다. 대부분의 프로그램이 UTF-8 기준으로 만들어지고 있는 것입니다. UTF-8 이 국제화에도 조금 더 쉽기 때문이죠.


 



 

'Development > Common' 카테고리의 다른 글

문자 집합(Character Set) 및 문자 인코딩  (0) 2012.01.19
유니코드(UNICODE) & 엔코딩(Encoding)  (1) 2012.01.19
IIOP  (0) 2012.01.16
CORBA  (0) 2012.01.16
XML  (0) 2012.01.16
Posted by linuxism
,