행위

"문자셋 character set"의 두 판 사이의 차이

DB CAFE

(UTF8 vs AL32UTF8 비교표)
(ANSI)
1번째 줄: 1번째 줄:
 
== 문자셋 , 캐릭터셋 (character set) ==
 
== 문자셋 , 캐릭터셋 (character set) ==
 
=== ANSI ===
 
=== ANSI ===
 +
 +
=== KO16KSC5601 ===
 +
# 한글 완성형 코드와 일치하며 일반적으로 많이 사용되는 2350자의 한글, 4888자의 한자와 히라카나, 카타카나, 그리고 영문 및 각종 기호들을 포함.
 +
 +
=== KO16MSWIN949 ===
 +
# Windows-949 Character Set은 MS사의 Windows Codepage 949번, 즉 한글 코드 페이지를 따른 코드셋이
 +
# 완성형(KO16KSC5601)을 그대로 포함하고 있으며, 추가로 현대 한글 조합으로 표현 할 수 있는 모든 가짓수에 해당하는 8822자의 한글을 추가해 포함하고 있다.
 +
# KO16MSWIN949가 KO16KSC5601를 포함하고 있다고 봐도 무방함
 +
# DB 마이그레이션 작업시 KO16KSC5601을 KO16MSWIN949 로 마이그레이션 할때는 크게 문제 되지 않음
 +
# 반면, 반대로 작업 시에는 문제가 발생 할수 있음. 표기 할수 있는 글자 수의 차이 때문.
  
 
=== UTF8 ===
 
=== UTF8 ===

2024년 3월 25일 (월) 13:48 판

thumb_up 추천메뉴 바로가기


1 문자셋 , 캐릭터셋 (character set)[편집]

1.1 ANSI[편집]

1.2 KO16KSC5601[편집]

  1. 한글 완성형 코드와 일치하며 일반적으로 많이 사용되는 2350자의 한글, 4888자의 한자와 히라카나, 카타카나, 그리고 영문 및 각종 기호들을 포함.

1.3 KO16MSWIN949[편집]

  1. Windows-949 Character Set은 MS사의 Windows Codepage 949번, 즉 한글 코드 페이지를 따른 코드셋이
  2. 완성형(KO16KSC5601)을 그대로 포함하고 있으며, 추가로 현대 한글 조합으로 표현 할 수 있는 모든 가짓수에 해당하는 8822자의 한글을 추가해 포함하고 있다.
  3. KO16MSWIN949가 KO16KSC5601를 포함하고 있다고 봐도 무방함
  4. DB 마이그레이션 작업시 KO16KSC5601을 KO16MSWIN949 로 마이그레이션 할때는 크게 문제 되지 않음
  5. 반면, 반대로 작업 시에는 문제가 발생 할수 있음. 표기 할수 있는 글자 수의 차이 때문.

1.4 UTF8[편집]

  1. UTF8은 3byte 기준으로 문자열 저장
  2. 데이터 범위는 U+9999까지
  3. 그외 보충 문자열(Supplementary characters, 보조 문자) 는 U+ 10000에서 U+ 10FFFF까지 코드 포인트가 할당 된 문자까지 저장할 수 있는 타입

1.5 UTF8과 AL32UTF8 차이점[편집]

  1. AL32UTF8 은 U+ FFFF( 3byte 표현) 보다 큰 유니 코드 문자
  2. Compatibility Encoding Scheme for UTF-16: 8-Bit (CESU-8) 라고 표현
  3. AL32UTF8에 저장할 수 있는 4byte 문자에는 대표적으로 한자와 이모지가 있다.
    • U + 2070E : 𠜎
    • U+1F601 : 😁
 

1.5.1 UTF8 vs AL32UTF8 비교표[편집]

구분 UTF8 AL32UTF8
UNICODE Version 2.1 ~ 3.0 3.0~3.1
Oracle Version 8.0 ~ 9l >= 9i
Unicode Encoding UTF8 UTF8
보충, 보조문자열(Supplementary characters)지원 X O
oracle 8i 이하 client 지원 O X
가변넓이 1~3byte 1~4byte

 

  • 특이사항.
    • UTF8 -> AL32UTF8 Datadump로 이관 시 에러 발생, DataPump Export/Import 사용 필요.AL32UTF8를 이용할 때 이런 보충, 보조문자열을 지원하는지 테스트 하는 것이 중요
    • 실제 DB를 이용하는 어플리케이션( 프로그램/시스템 ) 에 문제가 없는지 확인이 필요
  • 참고로 mysql, mariadb에서 이런 문자셋을 utf8, utf8mb4라고 표현 함