Как исправить проблемы с кодировкой символов в приложении Flask с базой данных MySQLPython

Программы на Python
Anonymous
Как исправить проблемы с кодировкой символов в приложении Flask с базой данных MySQL

Сообщение Anonymous »

Я работаю над проектом, включающим базу данных MySQL и приложение Flask на Python. Я устанавливаю соединение с MySQL и запрашиваю данные с помощью метода курсора.execute. Однако в отображаемом выводе на веб-странице я встречаю странные символы:
Странные символы
В ходе отладки я обнаружил, что эти символы происходят из из базы данных. Проведя исследование, я обнаружил, что выполнение следующей команды решает проблему:

Код: Выделить всё

SET NAMES CP850;
После запуска этой команды символы отображаются правильно при запросе к базе данных через HeidiSQL. Однако при рендеринге веб-страницы странные символы сохраняются.
Я также заметил, что HeidiSQL возвращается к отображению странных символов при перезапуске сеанса, что указывает на то, что команду необходимо выполнить в начало каждого сеанса.
Чтобы решить эту проблему, я попытался выполнить SET NAMES CP850; в моем скрипте Python после создания объекта соединения, но проблема остается нерешенной.
Я создаю соединение следующим образом:

Код: Выделить всё

def intentar_conexión(nombre_usuario, contraseña):
try:
return mysql.connector.connect(
user=nombre_usuario,
password=contraseña,
host="localhost",
database="bienestar"
)
except mysql.connector.Error as err:
print("[Debug Message] MySQL Error: " + str(err))
return err.errno
Я использую utf-8 на Python, поэтому в сценарии нет проблем с ударенными гласными и ñ.

Подробнее здесь: https://stackoverflow.com/questions/786 ... l-database

Вернуться в «Python»