오라클 UTF8 - US7ASCII 캐릭터셋 변경하는 방법


US7ASCII Character Set 을 사용하는 DB 와 UTF8 Character Set 을 운영 할 때 
이 둘의 DB 를 인터페이스 해야 할 경우 캐릭터셋의 이슈가 발생합니다.


이럴 때 어떻게 해결해야 할까요?
Java에서 처리하는 방법과 오라클 DB에서 처리 하는 방법이 있습니다.


1. Java 로 처리하는 방법

//US7ASCII => UTF-8

protected String conChar( String orgStr ) {
  try {
    if ( orgStr != null ) {
      return new String( orgStr.getBytes("8859_1"), "EUC_KR" );
    } else {
      return "";
    }
  } catch ( Exception e ) {
  return orgStr;
  }
}

//UTF-8 => US7ASCII

protected String conChar7( String orgStr ) {
  try {
    if ( orgStr != null ) {
      return new String( orgStr.getBytes("EUC_KR"), "8859_1" );
    } else {
    return "";
    }
  } catch ( Exception e ) {
  return orgStr;
  }
}


2. 오라클 DB 에서 처리 하는 방법 ( UTF-8  → US7ASCII )


UTL_ENCODE.TEXT_ENCODE(대상값, 캐릭터셋, 인코딩방법)

UTL_ENCODE.TEXT_DECODE(대상값, 캐릭터셋, 인코딩방법)


//(UTF-8  → US7ASCII)
//ENCODE

SELECT UTL_ENCODE.TEXT_ENCODE(컬럼, 'KO16KSC5601', 1)  FROM 테이블 ;

//DECODE

SELECT UTL_ENCODE.TEXT_DECODE(컬럼, 'US7ASCII', 1)  FROM 테이블 ;


위와 같이 구성하면 해결이 가능합니다.


공감과 댓글, 그리고 구독은 큰 힘이 됩니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기