반응형
Notice
Recent Posts
Recent Comments
IT 일기장
[Oracle] sqldeveloper 중국어 일본어 깨짐 현상 본문
반응형
다국어 사이트를 만드는중에 중국어랑 일본어가 DB에서 깨지는 현상이 발견됐다
야근인가… 바로 생각이 들었는데 해결책은 있었다
# 1번째 방법
일단 현재 DB의 CHARACTERSET 속성을 봐야되는데 일단 조회해본다
SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%';
내 컴퓨터의 경우 결과값은..
PARAMETER | VALUE |
NLS_CHARACTERSET | KO16MSWIN949 |
NLS_NCHAR_CHARACTERSET | AL16UTF16 |
저 NLS_CHARACTERSET을 AL32UTF8로 변경해줘야된다
UPDATE sys.props$ SET value$='AL32UTF8' WHERE name='NLS_CHARACTERSET';
근데 이걸 sqldeveloper에서 실행하면 안된다 (권한이 충분하지 않다나 뭐라나)
이건 SYSDBA 계정으로 접근해서 실행해야되는 쿼리인가 보다. 서버에 있는 sqlplus에 접속해서 다음과 같이 작업해줬다
SQL> UPDATE sys.props$ SET value$='AL32UTF8' WHERE name='NLS_CHARACTERSET';
1 행이 갱신되었습니다.
SQL> COMMIT;
커밋이 완료되었습니다.
SQL> shutdown immediate;
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup mount;
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 6814535680 bytes
Fixed Size 2188688 bytes
Variable Size 3539995248 bytes
Database Buffers 3254779904 bytes
Redo Buffers 17571840 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
다시 위에 SELECT문 돌려서 확인해보면 바뀐 것을 알 수 있었는데.. 이번엔 한글이 다 깨졌다 ㅠㅠ
다시 원복하고 다른 방법을 찾아 헤매서
# 2번째 방법
개발환경에서 Tomcat의 Argument 설정하는 부분에 속성 추가해서 해결한 개발자가 있었다
-Doracle.jdbc.defaultNChar=true
-Doracle.jdbc.convertNcharLiterals=true
이거 추가해주면 된다는데 테스트 해보니까 성공했다!! 야근 탈출~ 근데 이제 개발서버에 적용을 해야되는데
개발서버 환경은 또 JEUS라서 JEUSMain.xml 파일에다 추가해주고 재기동을 해보니 성공적으로 해결됐다
반응형
'프로그래밍 언어 > SQL(DB)' 카테고리의 다른 글
[DB 공통] 인덱싱 작업 (0) | 2021.12.13 |
---|---|
[MySQL] 그룹 별로 각 게시물에 답변과 댓글 수 통계 구현 (0) | 2021.12.12 |
[MySQL] TIMESTAMPDIFF() (0) | 2021.12.08 |
[Oracle] Oracle 11g 설치 및 DBLINK 테스트 (0) | 2021.12.07 |
[MySQL] 테이블 복사 (0) | 2021.12.03 |
Comments