Этот конкретный символ представлен в виде двух кодовых точек.В Python 2 вам также нужно объявить кодировку вашего исходного файла, чтобы использовать не-ASCII в исходном коде и использовать строки Unicode в событии и элементе для сравнения:
#coding:utf8
event = u'\u2708\ufe0f'
if event == u'✈️':
print 'match'
Вывод:
match
Возможно, ваше событие не является строкой Unicode.Проверьте type(event)
и print repr(event)
, чтобы увидеть его фактическое содержимое.
Можно сравнивать строки, не относящиеся к Юникоду, но они должны кодироваться одинаково.Снова, print repr(event)
необходим, чтобы увидеть, в чем проблема.В идеале, декодировать входной текст в Unicode, обрабатывать как Unicode в коде, кодировать обратно в байты, чтобы записать текст обратно в базу данных, файл, сетевой канал и т. Д.
Кроме того, переключитесь на Python 3, который имеет многолучшая обработка Unicode.