Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 26, 2017 14:01:03

Al-se
Зарегистрирован: 2017-01-26
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

ZerG
как то у вас не все хорошо там! вы уверены что все условия правильные? Особенно с с базой? Может вы сам запрос не правильно формируете?

Я же писал в первом посте. Если запрос выполнить в MS Management Studio (где он собственно и был написан), то всё находится без всяких проблем.

P.S. Нехорошо - да, вся остальная логика работает без проблем, в том силе запись в файл в кодировке cp1251 и дальнейшая работа с этим файлом в других программах.

Отредактировано Al-se (Янв. 26, 2017 14:03:11)

Офлайн

#2 Янв. 26, 2017 14:05:20

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

Al-se
Как-то там в документации не очень явно написано. Что-то типа:“всё конвертирует, но если у вас старое приложение (я так понял -база), то могут понадобиться дополнительные усилия…”
Онлайн

Что??? Я вяжусь к иннодб, которой 9 лет. Без проблем. Вяжемся еще даже к IS400…

Офлайн

#3 Янв. 26, 2017 14:16:06

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

покажите уже весь код
и пример поля из базы



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Янв. 26, 2017 15:30:34

Al-se
Зарегистрирован: 2017-01-26
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

4kpt_IV

Придется изучать еще Алхимию, хотелось обойтись малой кровью.

ZerG
покажите уже весь коди пример поля из базы

Там это практически весь этот код и есть. А поле в базе именно такое и есть. Либо цифра, либо цифра с русской буквой в кодировке 1251. Когда в этом поле одни цифры - всё работает, когда стали попадаться цифры с буквой (благо это не часто происходит), то пришлось сделать обработку ошибок и в файл логов выводить исходную строку, которую потом приходится просматривать человеку.

Офлайн

#5 Янв. 26, 2017 15:48:49

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

 print(selectTxt2)

и покажите что получилось



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Янв. 27, 2017 07:34:02

Al-se
Зарегистрирован: 2017-01-26
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

4kpt_IV
Ответ на вопрос. Не задрачивать себя, а использовать SQLAlchemy. Она все конвертации возьмет на себя.

Да, Вы оказались правы. SQLAlchemy действительно всё поняла правильно с кодировками. Код тестового примера получился такой:

engine = create_engine('mssql+pymssql/test:test@10.1.1.1/TST1')
conn = engine.connect()
raw2 = conn.execute(selectTxt2)
for ev in raw2:
print (ev)
conn.close ()

Спасибо.

Офлайн

#7 Янв. 27, 2017 09:45:22

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

Al-se
Познайте для себя мир деклоратива. Буду докладываться в субботу по алхимии на Харьковском митапе. Могу кинуть ссылку на видео.

Офлайн

#8 Янв. 27, 2017 10:22:04

Al-se
Зарегистрирован: 2017-01-26
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

4kpt_IV
Al-seПознайте для себя мир деклоратива. Буду докладываться в субботу по алхимии на Харьковском митапе. Могу кинуть ссылку на видео.

Буду признателен. Тем более, что проблема ушла в одном месте и появилась в другом. Раньше не выполнялся поиск, если в поле была русская буква, а теперь не записывают в файл результат поиска, если в нем есть русская буква.

Отредактировано Al-se (Янв. 27, 2017 14:26:05)

Офлайн

#9 Янв. 27, 2017 11:19:24

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

Я тоже



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#10 Янв. 29, 2017 16:34:55

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Питон + mssql + кодировка

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version