오라클 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 테이블 ;
위와 같이 구성하면 해결이 가능합니다.
♥공감과 댓글, 그리고 구독은 큰 힘이 됩니다.