로케일 이란? [Bottom] [Top]
특정 언어 및 국가에 대응하는 정보의 집합 이라고 정의한다. 특정 언어에 관한 정보라면 언어를 구성하는 문자의 집합 (알파벳이나 한글), 각 문자를 정렬하는 방법 (ABC... 또는 가나다...), 날짜 표기법 (25-Jun-2004 또는 2004/6/25) 등이 있으며, 국가에 대응하는 정보는 화폐 단위, 도량형 등이 있다. 이 모든 것을 통틀어 로케일 (Locale) 이라고 한다.
국제화 와 지역화 [Bottom] [Top]
일반적으로 프로그램을 국제화 한다는 것은 특정 로케일에만 맞도록 만들어진 프로그램을 임의의 로케일을 지원하도록 변경하는 것을 말하고, 지역화 라는 것은 국제화가 된 프로그램에 각 로케일 관련 정보를 추가하는 것을 말한다. 이 두가지 과정을 합쳐서 고유어 지원 (Native Language Support, NLS) 라고 부르기도 한다.
한글 인코딩 방식 [Bottom] [Top]
문자 집합 (캐릭터셋) 은 로케일 안에 포함되는 개념이며, 인코딩 은 문자 집합의 각 문자에 어떤 부호를 대입할 것이냐를 결정하는 것이다. 사람들끼리 쓸 때는 별 생각없이 가나다... 라고 쓰면 되는데, 컴퓨터는 모든 정보를 숫자로만 인식을 하기 때문에 가 = 1, 나 = 2, 다 = 3, ... 처럼 각 문자에 숫자값을 대입해줘야 할 필요가 있다. 이때 1, 2, 3 같은 값을 통틀어 인코딩이라고 부른다 (즉, 값을 붙이는 규칙). 우리말로는 아마 부호화 방식이라고 번역할 수 있다.
유니코드 는 전세계 대부분의 주요 언어의 문자 집합을 하나로 모아 서로 충돌하지 않게 같은 코드 공간 속에 배열해 놓은 것이지만, 문자를 표현하기 위해 최소 16비트를 요구하기 때문에 현재 전세계적으로 널리 쓰이고 있는 8 비트 기반의 ASCII/ISO-8859 인코딩과는 잘 맞지 않는다. 따라서 이 두가지 방식이 공존할 수 있게 고안한 인코딩 방식이 UTF-8 이다.
EUC-KR 은 유니코드가 제정되기 전 국내에서 표준으로 제정한 방식으로, 흔히 완성형 한글이라고 부르는 인코딩 방식으로 현재는 거의 모든 국내 컴퓨터 사용자가 이 코드를 사용하고 있다. UTF-8 은 아직까지는 쓰는 사람이 그렇게 많지 않지만 서서히 입지를 넓혀가고 있는 중이다. 윈도우즈 9x 계열은 커널 내부적으로 ANSI 코드 (미국 표준 코드) 를 사용하고 있으며, 윈도우즈 NT 계열 (NT/2000/XP/2003) 은 내부적으로 유니코드를 사용하고 있다.
간혹 FAT32 마운트시에 나오는 CP949 라는 방식은 윈도우즈 커널의 인코딩 방식으로 오래전 도스 시절부터 국제화를 고려해왔기 때문에 코드 페이지라는 마이크로소프트만의 독자적인 인코딩 이름을 가지고 있는 것이다.
또한 윈도우즈는 통합형 한글 (Unified Hangul) 이라는 인코딩 방식으로 사용하고 있다. 이것이 나오게된 계기는, 이전에 국가 표준으로 제정한 KS C 5601-1987 이 조합 가능한 한글 11172 자 중 2350 자만 코드 영역에 넣고 나머지를 무시해 버린 문제가 있었다. 이로 인해 엄연히 사용되는 한글이면서도 컴퓨터로 표현을 할 수 없게 되는 경우가 발생하게 되었는데 (똠방각하, 펲시콜라, 요즘은 왜날뷁, 아햏햏 등) 마이크로소프트 독자적으로 비어 있는 코드 공간에 버려진 한글 글자들을 끼워 넣은 것이 통합형 한글이다. 하지만 한글 순서가 뒤죽박죽이 되어 정렬시 상당한 문제가 발생하고 있다. 그러나 아예 표현하지 못하는 것보다는 훨씬 낫기 때문에, 게다가 대부분의 사용자들이 윈도우즈 운영체제를 사용하다 보니, 어쩔수 없이 모든 사람이 사용하게 되었다. 통합형 한글을 확장 완성형 한글 (기존 완성형의 확장이라는 의미) 이라고 부르기도 한다.
