Как исправить непонятную кодировку при SELECT из ms sql
Есть SQL запрос, который выполняется из скрипта python.
Проблема в том, что поле, которого нет в базе, выдает символы не utf8. Как это можно адекватно перекодировать в кириллицу? В самом питоновском скрипте или на стороне базы именно для этой переменной? Когда запрос выполняется на чистом sql, в базе все норм, отображается с кириллицей.
На питоне идет подключение к mssql через pymssql.
Вот запрос:
SELECT
CASE WHEN c_object_mane = '1' or c_object_mane = '2'
THEN 'Санкт-Петербург'
WHEN c_object_mane = '3'
THEN 'Москва'
END AS c_object_adress, an.[c_object_mane], an.[c_house_name], an.[c_type_room], an.[c_room], an.[c_status_flat], an.[lead_bujet], an.[c_an], an.[ddu_date]
FROM mssql_db as an where an.ddu_date >= '2021-01-01'
При выводе по логике должны нормально писать города Москва, Санкт-Петербург, но выходит только это:
Òþìåíü
Òþìåíü
Òþìåíü
Ìîñêâà
Òþìåíü
Òþìåíü
Òþìåíü
Òþìåíü
Òþìåíü
Ответы (2 шт):
Автор решения: Euaek
→ Ссылка
По умолчанию MySQL имеет кодировку latin1 на всех уровнях.
Попробуй в php:
mysqli_query("SET NAMES 'cp1251'");