【发布时间】:2011-05-04 13:53:51
【问题描述】:
到目前为止,我已经将 Sybase SQL Anywhere 12 与 Python(和 Twisted)一起使用了几个星期,我什至让我的东西正常工作了。
只剩下一个烦恼:如果我在 CentOS 5 上使用自定义 Python 2.7.1(这是部署平台)运行我的脚本,我得到的结果是 UTF-8。
如果我在我的 Ubuntu 机器 (Natty Narwhal) 上运行它,我会在 latin1 中获得它们。
不用说,我更愿意以 Unicode 格式获取我的所有数据,但这不是这个问题的重点。 :)
两者都是 64 位盒子,都有自定义 Python 2.7.1。使用 UCS4 和自定义构建的 unixODBC 2.3.0。
我在这里不知所措。我找不到任何文档。是什么让 pyodbc 或 unixODBC 在这两个盒子上表现不同?
确凿的事实:
- Python:2.7.1
- 数据库:SQL Anywhere 12
- unixODBC:2.3.0(2.2.14 确实表现相同),使用相同标志自行编译
- ODBC 驱动程序:来自 Sybase。
- CentOS 5 给我 UTF-8,Ubuntu Natty Narwhal 给我 latin1。
我的 odbc.ini 看起来像这样:
[sybase]
Uid = user
Pwd = password
Driver = /opt/sqlanywhere/lib64/libdbodbc12_r.so
Threading = True
ServerName = dbname
CommLinks = tcpip(host=the-host;DoBroadcast=None)
我只使用 DNS='sybase' 进行连接。
TIA!
【问题讨论】:
标签: python pyodbc sqlanywhere unixodbc