'\xc3\xa9'
- это кодировка UTF-8 символа Unicode u'\u00e9'
(который также можно указать как u'\xe9'
). Таким образом, вы можете использовать u'Andr\u00e9'
или u'Andr\xe9'
.
Вы можете конвертировать из одного в другое:
>>> 'Andr\xc3\xa9'.decode('utf-8')
u'Andr\xe9'
>>> u'Andr\xe9'.encode('utf-8')
'Andr\xc3\xa9'
Обратите внимание, что причина, по которой print 'Andr\xc3\xa9'
дал вам ожидаемый результат, заключается только в том, что кодировкой вашей системы по умолчанию является UTF-8. Например, в Windows я получаю:
>>> print 'Andr\xc3\xa9'
André
Что касается вывода HTML, то это зависит от того, какую веб-среду вы используете и какую кодировку вы выводите на странице HTML. Некоторые фреймворки (например, Django) автоматически преобразуют значения Юникода в правильную кодировку, в то время как для других потребуется сделать это вручную.