오라클 데이터 저장시 특수문자가 정삭적으로 저장되지 않습니다. 0 2 7,158

by yozm0213 [Oracle 기초] [2015.12.15 09:28:12]


안녕하세요.

사용자들이 데이터를 저장할 때 특수문자가 정상적으로 db에 저장되 않아 질문드립니다.

오라클 캐릭터셋은 NLS_CHARACTERSET = KO16MSWIN949

                         NLS_NCHAR_CHARACTERSET = UTF8

입니다.

다름이 아니라 사용자에게 텍스트를 입력받고 테이블에 데이터를 넣기 전까지는

· (가운데점) 이 정상적으로 값이 찍힙니다. 그런데 데이터가 들어가는 순간에 바뀌는건지

정상적으로 데이터가 입력되고 나면 가운데점이 ?(물음표)로 바뀌어 있습니다.

그외에도 #8228등의 문자가 변환되어져 있는데 어떻게 하면 정상적인 값이 들어가게 할 수 있는지 궁금해서 글남깁니다.

by 신이만든짝퉁 [2015.12.15 13:58:09]

db에 저장될때 ?(물음표)로 바뀌어 들어가는 경우는 현재db의 문자셋이 해당 문자를 지원하지 않기 때문입니다.

해결방법은 상위 문자셋으로 변환하는 것입니다.(UTF8 또는 AL32UTF8)


by 신이만든짝퉁 [2015.12.15 14:02:54]

또는 해당 컬럼을 NCHAR datatypes (NCHAR, NVARCHAR2, NCLOB)으로 변경하는 것입니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입