Как правило, проверка ввода должна выполняться с использованием белого списка допустимых символов, если вы можете определить такую вещь для своего варианта использования. Затем вы просто выбрасываете все, чего нет в белом списке (или вообще отклоняете ввод).
Если вы можете определить набор разрешенных символов, то вы можете использовать регулярное выражение, чтобы убрать все остальное.
Например, допустим, вы знаете, что в "стране" будут только заглавные буквы английского алфавита и пробелы, которые вы могли бы убрать из всего остального, включая вашу противную юникодную букву, такую как:
>>> import re
>>> country = u'FRANCE\ufeff'
>>> clean_pattern = re.compile(u'[^A-Z ]+')
>>> clean_pattern.sub('', country)
u'FRANCE'
Если вы не можете определить набор разрешенных символов, у вас большие проблемы, потому что ваша задача предвидеть все десятки тысяч возможных неожиданных символов Юникода, которые могут быть брошены в вас - и все больше и больше добавляются в спецификации по мере развития языков с годами.