Как насчет использования URIUtil
из httpclient
?
URIUtil.encodeQuery(strUrl, "UTF-8");
Кодировка следующего адреса mailto:jo han.sjoberg@m.com
дает mailto:jo%20han.sj%C3%83%C2%B6berg@m.com
Технически, хотя, +
и %20
являются приемлемой кодировкой для пробела.