pyodbc удаляет строки Unicode

Я использую pyodbc для подключения sqlserver, а ниже – моя строка соединения. Все правильно, но результаты возвращаются как строка unicode. У меня есть CHARSET = UTF8 в строке соединения, но все еще его возвращает как строку unicode?

Есть ли способ, которым я могу ограничить его, используя сам параметр соединения?

Я не хочу вызывать дополнительную функцию для преобразования моего юникода в обычные строки.

import pyodbc as p connstr= 'DRIVER={SQL Server};SERVER=USERNAME\SQLEXPRESS;DATABASE=TEST;Trusted_Connection=yes;unicode_results=True;CHARSET=UTF8' conn = p.connect(connstr) print conn cursor = conn.cursor() result = cursor.execute("select * from employee1") for each in result: print each 

One Solution collect form web for “pyodbc удаляет строки Unicode”

Вы не можете справиться с этой проблемой в строке подключения. SQL Server не имеет свойства CHARSET в настройках подключения odbc, так что это не принесет вам пользы.

Общая проблема, с которой вы сталкиваетесь, заключается в том, что данные UNicode в базе данных. Тип данных для этого столбца – nvarchar, это расширенный (UTF-16 … может быть UC-2 в Windows, не может запомнить) тип данных для включения международных символов данных.

Ваши параметры состоят в том, чтобы преобразовать данные с помощью приведения в запрос выбора, например:

 SELECT CAST(fieldname AS VARCHAR) AS fieldname 

или преобразовать его в python, например:

 # to utf-8 row.fieldname.encode('utf8') # to ascii, ignore non-utf-8 characters row.fieldname.encode('ascii', 'ignore') # to ascii, replace non-utf-8 characters with ? row.fieldname.encode('ascii', 'replace') 

Если вам не нужны международные символы, вы можете сохранить данные в varchar вместо nvarchar.

  • Соединение DB2 через pyodbc и pandas.io.sql в Unix Box с не-root
  • используя pyodbc на linux для вставки символов unicode или utf-8 в поле nvarchar mssql
  • Python обрезает 255 символов при запросе MS SqlServer с помощью FreeTDS
  • Вызов хранимой процедуры python
  • Подключение к Microsoft SQL Server через pyODBC на Ubuntu
  • не может подключиться к базе данных 64-битной MsAccess с 64-битной ошибкой драйвера Python 3.6.ODBC
  • Получать данные из pandas на SQL-сервер с PYODBC
  • Чтение с SQL Server с параметрами: pandas (или pyodbc) не работает должным образом
  •  
    Interesting Posts for Van-Lav

    Pyspark: проанализировать столбец строк json

    Указатели и «Хранение небезопасной производной C от временной ссылки на Python»

    Почему нажатие Ctrl-backslash приводит к дампу ядра?

    Запустите приложение C # из сценария python

    добавлять и печатать не-ASCII-символы в list-python

    В чем разница между параметрами set_client_CA_list_from_file () и M2Crypto и load_verify_info (), и когда вы будете использовать их?

    BeautifulSoup: очистить HTML можно только после нажатия «Принять» по тому же адресу

    Как обновить изображение на метке tkinter?

    django-admin бросает синтаксическую ошибку – проблема с конфигурацией Я думаю

    Почему функция numpy random.choice () прекращена?

    Получить содержимое веб-страницы с помощью Python?

    Передавайте дополнительные данные при регистрации пользователя с помощью Djoser и Django Rest Framework

    Проблемы с Virtualenv и Anaconda

    как сделать побитовое исключение или две строки в python?

    python UnicodeEncodeError> Как я могу просто удалить тревожные символы Unicode?

    Python - лучший язык программирования в мире.