2016-09-29 61 views
0

我從Python 2.7連接到Oracle數據庫。 當我使用:Python 2.7連接到Oracle:丟失(波蘭語)字符

cursor.execute("SELECT column1 FROM table").fetchall()] 

我有差不多合適的值列1,因爲所有的波蘭字符(「ęóąśłżćń」)轉換爲ASCII一個(「eoaslzcn」)。使用另一個工具如SQLDeveloper並使用相同的select語句,我可以獲得適當的值。

+0

chars在哪裏丟失? oracle->蟒蛇?或python->輸出環境? –

+0

字符丟失在Oracle - > Python - 下面是解決方案:) – KrzyszofS

回答

0

嘗試將環境變量設置NLS_LANG你的數據庫語言的字符串,像

os.environ['NLS_LANG'] = 'POLISH_POLAND.EE8MSWIN1250' 
0

@馬克哈里森 - 非常感謝你!有用!有一個確切的指示我做了什麼:

我在甲骨文檢查什麼是語言:

SELECT USERENV ('language') FROM DUAL 

的反應是:

POLISH_POLAND.UTF8 

然後我在Python改變NLS_LA值:

os.environ['NLS_LANG'] = 'POLISH_POLAND.UTF8' 

使用

print "%s, %s" % (name, surname) 

和「> file.txt」在命令行中我在utf8中獲得了一個(正確的)文件。