在python中编码问题

时间:2017-09-28 19:56:06

标签: python telegram-bot

我正在编写一个电报机器script,它使用此API调用显示天气:

http://api.openweathermap.org/data/2.5/weather?q=CITY_NAME_IN_RUSSIAN&APPID=API_KEY_HERE&lang=ru&units=metric&encode=utf-8

参数CITY_NAME_IN_RUSSIAN=<city name>

示例城市名称Moscow为俄语Москва

如果我用英语Moscow发送,那么一切正常。但如果我发送俄语Москва,我会收到错误。

UnicodeEncodeError: 'ascii' codec can't encode characters in position 24-28: ordinal not in range(128)

我该如何解决?

1 个答案:

答案 0 :(得分:1)

我假设您正在使用python 2.如果是这样 试试unicode('Москва','utf-8')

您也可以在文件# -*- coding: utf-8 -*-

之上添加此内容