cx_Oracle中国語の漢字文字化けし問題の解決

928 ワード

pythonアプリケーションを書き、符号化#-*-coding:utf-8-*-を最初に宣言したが、データを挿入したときも文字化けしていた.それからいろいろな資料を調べて、やっと方法を見つけた.プログラムの先頭に追加:
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

正常なinsertとupdateの中国語ができます
例:
# -*- coding: utf-8 -*-
import osos.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
import cx_Oracledb = cx_Oracle.connect( username/[email protected]:42401/xezf' )cursor = db.cursor()rs = cursor.execute('select * from cfg_haoduan_gh where rownum<9')li =rs.fetchall()print li[0][3].decode('utf-8')
cursor.execute('insert into test_ccc values(1,sysdate,'私たち')')
db.commit()db.close()