Невозможно подключиться к базе данных с именем Unicode - PullRequest
0 голосов
/ 14 сентября 2018

Я пытался подключиться к одной из моих баз данных, используя модуль pymssql в python с именем test_ यूनिकोड_डेटाबेस_123.Но я получаю сообщение об ошибке при подключении:

Кодек 'ascii' не может кодировать символы в позиции 4-10: порядковый номер не в диапазоне (128)

Нижемой код:

db_name = u'test_यूनिकोड_डेटाबेस_123'

pymssql.connect(self.server, self.user, self.password, self.db_name, charset='utf8')

Я пытался сделать db_name.encode ('utf8'), но безуспешно.Затем я включил опцию charset = 'utf8' в оператор pymssql connect, но до сих пор мне не повезло в соединении.Может кто-нибудь помочь мне?

Версия Python 2.7 и SQL Server 2016.

1 Ответ

0 голосов
/ 17 сентября 2018

Первая строка вашего исходного файла Python должна содержать следующее, если ваш файл исходного кода был сохранен как UTF-8:

# -*- coding: utf-8 -*-

Если не UTF-8, добавьте первую строку и сохраните файл как UTF-8. Снова откройте и убедитесь, что имя_базы все еще отображается правильно.

Для параметра charset значение равно UTF-8, а не utf8. Я не уверен, что дело имеет значение, но документация прописная.

Другой вариант - указать кодировку: self.db_name.encode('UTF-8')

...