Telegram бот не выводит кириллические символы

import telebot

bot = telebot.TeleBot('*токен*')

def tlist():
    tlist = ""
    with open(r"D:\Py\list.txt", "r") as file:
        for line in file:
            tlist += line
    return tlist

@bot.message_handler(content_types=['text'])
def get_text_messages(message):

    if message.text == "/list":
        bot.send_message(message.chat.id, tlist())

bot.polling(none_stop=True, interval=0)

Вместо "имя1 имя2 имя3", бот выводит "РёРјСЏ1 РёРјСЏ2 РёРјСЏ3". Кодировка текстового файла UTF-8. Пробовал использовать str и format, та же ерунда. Как можно решить проблему?


Ответы (1 шт):

Автор решения: RomanR

В строку with open(r"D:\Py\list.txt", "r") as file: нужно добавить кодировку:

 with open(r"D:\Py\list.txt", "r", encoding="utf8") as file:

Должно помочь. А вообще нужно всегда указывать кодировку, меньше проблем будет.

→ Ссылка