Задать вопрос
@vladvaraks

Как поставить правильную кодировку в mysql-connector-python?

Доброго времени суток! При попытке достать данные из базы mysql вместо русских букв выводятся непонятные символы, очень хотелось адекватный вывод данных, менял charset на utf8, не помогает. Подскажите, пожалуйста, как можно повлиять на правильность данных

Информация:
Версия сервера - mysql server 5.0.67
Кодировка базы - latin1
Collatin - latin1_swedish_ci
Пакет mysql-connector-python 8.0.5

Код для подключения к базе:
import mysql.connector

cnx = mysql.connector.connect(host="localhost",
                                port=3306,
                                database='oc',
                                charset='latin1',
                                collation='latin1_swedish_ci',
                                user="root",
                                password="")


Вывод запроса в консоль:
[(1, 'Íàëè÷íûå'),
(2, 'Äèñêîíòíûå êàðòû'),
(3, 'Òîïëèâíûå êàðòû'),
(4, 'Äèñêîíòíûå êàðòû'),
(5, 'Òîïëèâíûå êàðòû'),
(6, 'Äèñêîíòíûå êàðòû'),
(7, 'Òîïëèâíûå êàðòû')]
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 7 комментариев
Решения вопроса 1
@rPman
Кодировка базы latin не предполагает хранение русских символов, по техническим причинам, соответственно коннектор понятия не имеет как твои символы корректно переводить в utf8.

Мало того, данные в базе как то оказались? В какой кодировке их туда помещали? Вот как помещал, так и извлекай
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
19 февр. 2025, в 21:51
50000 руб./за проект
19 февр. 2025, в 21:33
150000 руб./за проект
19 февр. 2025, в 21:08
30000 руб./за проект