2015-09-04 24 views
1

我不知所措,我試圖從Python類連接到Sybase-ASE數據庫。從Python打開Sybase-ASE連接時出現字符集轉換問題

首先,一些版本號:

  • 的Python - 2.7(蟒蛇2.1.0 64位版本)
  • 的Python的Sybase庫 - 蟒蛇,SYBASE 0.40pre2(包括在蟒蛇)
  • 的Sybase - ASE 12.5.4
  • 的Linux - 紅帽4.4.7-1
  • 殼 - 擊3.2.25(1)-release下(x86_64-紅帽-Linux的GNU)(LANG = en_GB.UTF-8)
  • Pycharm - Community Edition 4.0.4

代碼在命令行中失敗(不管字符編碼是否設置)並且在Pycharm中也失敗。

我執行這行代碼:

db = Sybase.connect(server, username, password, database) 

所有憑證是合法的和其他地方工作,但該錯誤消息我得到的是這樣的:

Sybase.DatabaseError: Msg 2401, Level 11, State 2 
Character set conversion is not available between client character set 'utf8' and server character set 'iso_1'. 
Msg 2411, Level 10, State 1 
No conversions will be done. 

我的谷歌福建議這只是一個警告,可以忽略,但是我仍然需要調用的結果來打開遊標來訪問數據庫。

我無法控制數據庫服務器配置。有什麼我可以在初始連接之前在Python或python-sybase庫中本地設置以緩解此問題?

回答

0

它似乎改變則環境變量LANG是:

LANG=en_GB 

沒有UTF-8字尾解決了這個問題。

+0

這不適合我。你有其他解決方案嗎? – Kraken

相關問題