Re-encode body with UTF8 upon UnicodeEncodeError in SgmlLinkExtractor

When `SgmlLinkExtractor` has `restrict_xpaths` set it runs the possibility of failing to encode the body in `extract_links` if the encoding is wrong.