[Oracle] Character set 변경.
Oracle Character set 변경.
Oracle 초기설치시 한글 UTF8과 맞지 않아 ???로 바이트가 깨지는 현상이 발생하여 확인 중 Oracle 내의 인코딩 수정으로
쉽게 해결이 가능하였다.
Step 1. sqlplus ( client )에서의 인코딩 환경 변수 설정
설정을 안하게 될 경우 서버에는 정상적으로 insert되지만 출력시 ??? 로 나오는 현상이 발생한다.
$ export NLS_LANG=KOREAN_KOREA.UTF8
Step 2. DB 서버 에서의 인코딩 환경 변수 설정
현재 설정된 인코딩 확인.
SQL> select * from nls_database_parameters where parameter like '%CHARACTERSET%';
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_CHARACTERSET WE8MSWIN1252
NLS_NCHAR_CHARACTERSET AL16UTF16
SQL> select VALUE$ from sys.props$ where name='NLS_LANGUAGE';
VALUE$
--------------------------------------------------------------------------------
AMERICAN
DB서버를 UTF-8으로 인코딩 설정 후 재기동 까지 해주면 끝.
SQL> update sys.props$ set value$='UTF8' where name='NLS_CHARACTERSET';
1 row updated.
SQL> update sys.props$ set value$='UTF8' where name='NLS_NCHAR_CHARACTERSET';
SQL> update sys.props$ set value$='KOREAN_KOREA.UTF8' where name='NLS_LANGUAGE';
1 row updated.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area 208805888 bytes
Fixed Size 2142896 bytes
Variable Size 150998352 bytes
Database Buffers 50331648 bytes
Redo Buffers 5332992 bytes
Database mounted.
Database opened.
SQL> select ID from ACC;
ID
--------------------------------------------------------------------------------
락시
by rocksea.