В базе данных я сохранил строку, в которой проблемное слово: za \ u0161 \ u010diten.
[ред .: «проблемное слово», похоже, изменилось]
Когда я хочу представить эту строку на своей странице (с req.write (string) ). Я получаю эту ошибку: UnicodeEncodeError: кодек 'ascii' не может кодировать символы в позиции 686-687: порядковый номер не в диапазоне (128) .
Я использую Python 2.X для Windows | Linux | Mac. [ред .: выберите один]
Моя строка на самом деле называется html_h2
. Вот детали, которые меня попросили:
[ред .: вставлены пробелы для разборчивости]
>> print type(html_h2)
<type 'unicode'>
>> print repr(html_h2)
u"\n<table bgcolor='white' border=1 cellpadding=2 cellspacing=1 rules=rows frame=box>
<tr>
<td align='center'>
<img src=img/_up/upload/2010/03/03/… width=120 height=100/>
</td>
<td align='left' style=width:86%>
<h3>V Gr\u010diji kot v vojni</h3>
Gr\u0161ki premier je finan\u010dne razmere v dr\u017eavi, ki je skoraj pred bankrotom, primerjal z razmerami v vojni. Napovedani so ostri var\u010devalni ukrepi.
</td>
</tr>
</table>"
Я вставляю поля базы данных в строку с% s. [изд .: не имеет значения]
Когда я поступаю так, как предложил Игнасио:
req.write(html_h2.encode('XXXXXX'))
где XXXXXX - кодировка, которую я объявил в заголовке Content-Type, это происходит:
[ред .: удалить результат, который не происходит]
(1) Он отображается так, как я и надеялся.
(2) Я получаю сообщение об ошибке: XXXXXXXXXXXXXXXXXXXXXXXXXX