问题
我正在尝试通过pyodbc连接到MS SQL Server 2008 R2数据库,但所有错误(无论错误如何)似乎都会返回为乱码文本。
示例
from django.db import connections
import pyodbc
con = connections['default']
con.cursor().execute('select getdate() as [abc] ', []).description
Traceback (most recent call last):
File "/home/ubuntu/mypage/lib/python3.5/site-packages/Django-1.11-py3.5.egg/django/db/backends/base/base.py", line 213, in ensure_connection
self.connect()
File "/home/ubuntu/mypage/lib/python3.5/site-packages/Django-1.11-py3.5.egg/django/db/backends/base/base.py", line 189, in connect
self.connection = self.get_new_connection(conn_params)
File "/home/ubuntu/mypage/lib/python3.5/site-packages/django_pyodbc_azure-1.11.0.0-py3.5.egg/sql_server/pyodbc/base.py", line 309, in get_new_connection
timeout=timeout)
pyodbc.ProgrammingError: ('42000', '[42000] [unixODBC][Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Sn����g�BU�_������ "some_database" ��Q~[�\x02����k1WW~W_\x02 (4060) (SQLDriverConnect)')
问题
我可能需要处理语言为日语的数据库的任何特定设置吗?
备注
我感觉它正在返回某种二进制格式,或者pyodbc期望使用Latin-1或UTF16LE但是获得Shift-JIS或MS SQL Server用于数据库设置为日语的任何编解码器。
无论是使用django还是只是pyodbc的最新版本,都会出现完全相同的乱码文本。尝试过使用SQL Server驱动程序的verison 11和version 13。
我花了几个小时搜索文档,但无济于事。 任何帮助都非常赞赏!