1. 程式人生 > >python連線oracle亂碼(環境變數設定)

python連線oracle亂碼(環境變數設定)

select userenv('language') from dual;  

檢視一下資料庫字符集

客戶端

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

然後

import sys

import csv

import cx_Oracle

import codecs

import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

conn = cx_Oracle.connect("vivigsrp", "vivigsrp", "10.1.1.210/orcl")

curs = conn .cursor()

 csv_file_dest = "/home/hadoop/oracledata/aa10"+ ".csv"

outputFile = open(csv_file_dest,'w', encoding="UTF-8") # 'wb'

 output = csv.writer(outputFile, dialect='excel')

sql = "select * from aa10" # get a list of all tables

curs.execute(sql)

cols = []

for col in curs.description:

        cols.append(col[0])

output.writerow(cols)

for row_data in curs# add table rows

    output.writerow(row_data)

outputFile.close()