@@ -112,18 +112,19 @@ def highlight_content(content, query):
112112 if content.find('<') != -1:
113113 return content
114114
115+ query = query.decode('utf-8')
115116 if content.lower().find(query.lower()) > -1:
116− query_regex = '({0})'.format(re.escape(query))
117− content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
117+ query_regex = u'({0})'.format(re.escape(query))
118+ content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
118119 else:
119120 regex_parts = []
120121 for chunk in query.split():
121122 if len(chunk) == 1:
122− regex_parts.append('\W+{0}\W+'.format(re.escape(chunk)))
123+ regex_parts.append(u'\W+{0}\W+'.format(re.escape(chunk)))
123124 else:
124− regex_parts.append('{0}'.format(re.escape(chunk)))
125− query_regex = '({0})'.format('|'.join(regex_parts))
126− content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
125+ regex_parts.append(u'{0}'.format(re.escape(chunk)))
126+ query_regex = u'({0})'.format('|'.join(regex_parts))
127+ content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
127128
128129 return content
129130