한글의 전산화 관련 문서 | |
한글 인코딩 | 조합형 · 완성형(한글 목록 · 중복 한자) · 조합형 완성형 논쟁 · 남북한 한글 코드의 충돌 문제 · 한컴 2바이트 코드 · 유니코드 |
타자기와 키보드 | 두벌식 · 세벌식(일반 자판 · 속기 자판) · 휴대전화 입력기 · 한영 키 |
1 개요
남한과 북한에서 사용하는 한글 코드 체계의 차이로 인한 한글 코드의 충돌 문제를 설명한다.
남한과 북한은 한국전쟁을 거쳐 둘로 갈라지면서 서로 다르게 변화해 나갔다. 한글도 예외가 아니어서, 일단 쓰는 글자는 같지만 남한과 북한의 한글 정렬 순서가 서로 달라져 버렸다. 남한은 광복 이전부터 쓰던 순서를 그대로 쓰고 있고 북한은 아예 순서를 자체적으로 새로 만들었다. 그래서 컴퓨터의 한글 표현 체계도 남북이 서로 다르게 되어 있다.
문제는 전세계 컴퓨터에서 표준으로 사용하는 유니코드 체계에는 한글 순서가 남한 순서대로 반영되어 있다는 점이다.
2 한글과 유니코드
유니코드 1.0과 1.1에 있었던 한글은 KS X 1001 완성형을 기반으로 하고 있는 터라 없는 글자도 많았고, 정렬 방식도 문제가 많았다. 이에 남한측 대표가 현대 한글 11,172자를 전체적으로 재배열해서 새 영역에 재배당할 것을 요청했고, 이것이 받아들여져 1996년 발표된 유니코드 2.0 버전에서는 남한의 정렬 순서대로 11,172자가 새 영역에 배당되었다. 이후 2000년경에 북한이 이를 문제삼아 한글 11,172자를 자기네들이 쓰는 방식대로 재정렬해 줄 것을 요청했으나 한글은 이미 한번 대이동을 거친 전례가 있는데다 2.0 버전부터 수립된 '한번 배당된 문자는 옮기거나 없애지 않는다'는 정책에 위배된다는 이유로 거부당했다. 농담이 아니라 그 정책이 없었거나, 대한민국에서 선빵을 치지 않았다면 대한민국에서만 국제 표준에 위배되는 문자 배열을 쓸 뻔 했다.
그리고 북한은 코드 순으로 정렬하면 북한식으로 제대로 정렬이 되지 않는다는 것도 문제삼았지만, 단순 코드 순 정렬은 어차피 그 어떤 언어에서도 적절하지 않으며, 정렬은 따로 테이블을 만들어서 해야 한다. 영어조차도 코드 순으로 정렬하면 대문자 Z가 소문자 a보다 앞에 온다.
3 남북간 차이
정렬/순서 항목도 참고.
구분 | 남한 | 북한 |
쌍자음 | 예사소리의 바로 다음으로 정렬된다.[1] | 별개의 글자로 취급되어 ㅎ 다음으로 정렬된다. 종성의 경우도 같다. |
초성 ㅇ | ㅅ과 ㅈ 사이로 정렬된다. | 맨 마지막(ㅉ의 다음)으로 정렬된다, |
모음 | 기본 모음과 복합 모음이 함께 정렬된다. | 기본 모음과 복합 모음이 따로 정렬된다. |
3.1 정렬 순서 비교표
아래 표에서 종성에 있는 X는 종성이 없는 경우를 뜻한다.
순서 | 초성 | 중성 | 종성 | |||
남한 | 북한 | 남한 | 북한 | 남한 | 북한 | |
1 | ㄱ | ㄱ | ㅏ | ㅏ | X | X |
2 | ㄲ | ㄴ | ㅐ | ㅑ | ㄱ | ㄱ |
3 | ㄴ | ㄷ | ㅑ | ㅓ | ㄲ | ㄳ |
4 | ㄷ | ㄹ | ㅒ | ㅕ | ㄳ | ㄴ |
5 | ㄸ | ㅁ | ㅓ | ㅗ | ㄴ | ㄵ |
6 | ㄹ | ㅂ | ㅔ | ㅛ | ㄵ | ㄶ |
7 | ㅁ | ㅅ | ㅕ | ㅜ | ㄶ | ㄷ |
8 | ㅂ | ㅈ | ㅖ | ㅠ | ㄷ | ㄹ |
9 | ㅃ | ㅊ | ㅗ | ㅡ | ㄹ | ㄺ |
10 | ㅅ | ㅋ | ㅘ | ㅣ | ㄺ | ㄻ |
11 | ㅆ | ㅌ | ㅙ | ㅐ | ㄻ | ㄼ |
12 | ㅇ | ㅍ | ㅚ | ㅒ | ㄼ | ㄽ |
13 | ㅈ | ㅎ | ㅛ | ㅔ | ㄽ | ㄾ |
14 | ㅉ | ㄲ | ㅜ | ㅖ | ㄾ | ㄿ |
15 | ㅊ | ㄸ | ㅝ | ㅚ | ㄿ | ㅀ |
16 | ㅋ | ㅃ | ㅞ | ㅟ | ㅀ | ㅁ |
17 | ㅌ | ㅆ | ㅟ | ㅢ | ㅁ | ㅂ |
18 | ㅍ | ㅉ | ㅠ | ㅘ | ㅂ | ㅄ |
19 | ㅎ | ㅇ | ㅡ | ㅝ | ㅄ | ㅅ |
20 | ㅢ | ㅙ | ㅅ | ㅇ | ||
21 | ㅣ | ㅞ | ㅆ | ㅈ | ||
22 | ㅇ | ㅊ | ||||
23 | ㅈ | ㅋ | ||||
24 | ㅊ | ㅌ | ||||
25 | ㅋ | ㅍ | ||||
26 | ㅌ | ㅎ | ||||
27 | ㅍ | ㄲ | ||||
28 | ㅎ | ㅆ |
4 북한의 유니코드 무시
한때 북한은 남한 순서를 기준으로 배당된 유니코드 2.0의 한글 영역이 마음에 안 들어서, 유니코드 한글 영역을 자기들 순서에 맞게 제멋대로 사용했다. 예를 들어, 북한에서 자기들만의 비표준 유니코드 방식으로 표현된 '가는 길 험난해도 웃으며 가자'라는 문장을 유니코드 표준으로 맞춰 보면, '가꼯 괃 쟗깏좨너 혒호떄 가바'라는 괴이한 문장이 된다. "가" 만 제대로 나왔다
그러니까, 맨 처음의 '가'와 '각'은 남북이 둘 다 정렬 순서가 같지만, 나머지 글자들은 그렇지 않기 때문에 전혀 다른 글자로 둔갑해 버린다. 앞에서 예로 든 '가는 길 험난해도 웃으며 가자'에서 '는'이라는 글자는 북한 순서를 기준으로 하면 초성 2, 중성 9, 종성 4이다. 하지만 남한 순서를 기준으로 초성 2는 ㄴ이 아니라 ㄲ이고 중성 9는 ㅡ가 아니라 ㅗ이며 종성 4는 ㄴ이 아니라 ㄳ이기 때문에 '는'이 아닌 '꼯'으로 변해 버리는 것이다.
다만 북한의 유니코드 무시는 어느 시점에서 멈췄다. 대한민국을 상대로 자행했던 사이버테러를 시행하는 단계에서의 충돌때문에 그런것 아니냐는 추정, 또는 DBMS, 각종 모니터링 툴 등이 전부 대한민국 표준에 맞춰 져 있어 발생하는 문제 때문이 아니냐는 추정 등 추측만 무성하다. 진실은 저 너머에. 북한이 2010년에 출시한 붉은별에서는 유니코드의 한글 영역을 남한과 똑같이 표준대로 쓰고 있는 것이 확인되었다. 즉 '는'을 표현하는 데 U+AF2F가 아니라 유니코드 표준대로 U+B294를 사용한다. 공식적으로 대외에 내보내는 사진에는 윈도우 XP를 사용하는 경우도 목격되는데
5 바깥 고리
- ↑ 다만 남한에서 이게 확립된 것은 1989년의 일이다. 그전에는 명확한 규정이 없어서 쌍자음을 예사소리와 같이 둔 사전도 있고, 맨 뒤로 뺀 사전도 있다. 즉 까마귀가 거문고보다 먼저 나오는 사전도 있었다. 사전마다 달랐던 것이다.