django freetds pyodbc 插入俄语字母时出错
我在 Linux 中的 Django 中有我的应用程序。以及 Windows 上的 MS SQL 数据库。它们通过 pyodbc\freetds 驱动程序连接。英文数据插好。我可以在数据库中看到它,但是俄语字符导致错误:
代码:
p = Person()
# also tried u'Вася', unicode('Вася'), 'Вася'.decode('utf-8').encode('cp1251')
p.name='Вася'
p.save()
错误:
ProgrammingError: ('42000','[42000] [FreeTDS][SQL Server]The incoming tabular
data stream (TDS) protocol stream is incorrect. The stream ended unexpectedly.
(4002) (SQLExecDirectW)')
我在odbc.ini和freetds.conf中设置:
tds_version = 8.0
client charset = UTF-8
Ps也“从mytable中选择*”返回??? ??而不是俄罗斯字符。
I have my app in Django in Linux. And MS SQL Database on Windows. They're connected by pyodbc\freetds drivers. English data is inserted good. And i can see it in db, but russian characters cause error:
Code:
p = Person()
# also tried u'Вася', unicode('Вася'), 'Вася'.decode('utf-8').encode('cp1251')
p.name='Вася'
p.save()
Error:
ProgrammingError: ('42000','[42000] [FreeTDS][SQL Server]The incoming tabular
data stream (TDS) protocol stream is incorrect. The stream ended unexpectedly.
(4002) (SQLExecDirectW)')
I've set in odbc.ini and freetds.conf:
tds_version = 8.0
client charset = UTF-8
P.s. Also "Select * from mytable" returns ????? instead of russian chars.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论