cx_Oracle을 사용하다보면, utf-8로 인코딩된 데이터들을 table에 insert하면 모조리 ???로 바뀌는 상황이 발생한다.
cx_Oracle의 encoding이 US-ASCII 로 잡혀있기 때문이다.
다음 코드로 encoding을 확인할 수 있다.
US-ASCII 일 경우, 다음 처럼 NLS을 설정하면 쉽게 해결된다.
cx_Oracle의 encoding이 US-ASCII 로 잡혀있기 때문이다.
다음 코드로 encoding을 확인할 수 있다.
import cx_Oracle
conn = cx_Oracle.connect('test/test@TYPED')
conn.encoding
conn = cx_Oracle.connect('test/test@TYPED')
conn.encoding
US-ASCII 일 경우, 다음 처럼 NLS을 설정하면 쉽게 해결된다.
import os
os.environ['NLS_LANG'] = '.UTF8'
import cx_Oracle
conn = cx_Oracle.connect('test/test@TYPED')
conn.encoding
os.environ['NLS_LANG'] = '.UTF8'
import cx_Oracle
conn = cx_Oracle.connect('test/test@TYPED')
conn.encoding
'개발 끄적임들 > 프로그래밍 끄적임' 카테고리의 다른 글
TurboGears. tgwebservice 커스터마이징 (0) | 2007.11.15 |
---|---|
TurboGears. tgwebservice와 ZSI, 그리고 WebService #1 (0) | 2007.09.11 |
Vim for Python (0) | 2007.07.25 |
SQLObject tip#1 Unit Test에서의 dburi 설정하기 (0) | 2007.07.25 |
간단한 python code #2 : Python Test Suite 적용 (0) | 2007.07.06 |