diff --git a/debexpo/controllers/sponsor.py b/debexpo/controllers/sponsor.py index cffae857e1ea323f42f6636faab7708386ee44c6..c6978bbd23be9eaf6fd19d9e6c83711e92ff2a6e 100644 --- a/debexpo/controllers/sponsor.py +++ b/debexpo/controllers/sponsor.py @@ -42,6 +42,7 @@ import struct import socket import json import urllib +from HTMLParser import HTMLParser from debexpo.lib.base import BaseController, c, config, render, session, \ redirect, url, abort, request, SubMenu, _ @@ -327,7 +328,8 @@ class SponsorController(BaseController): # This is a workaround for Thunderbird and some other clients # not handling properly '+' in the mailto body parameter. c.mailbody = render('/sponsor/rfs_template.mako') - c.mailbody = urllib.quote_plus(c.mailbody.encode('utf-8')) \ + c.mailbody = urllib.quote_plus(HTMLParser().unescape( + unicode(c.mailbody)).encode('utf-8')) \ .replace('+', '%20') return render('/sponsor/rfs_howto.mako')