If you view the source of the page on your aite that has the paypal buy now button, look for the hidden field markup near that button, it has the order description/product name that is posted to paypal in those hidden fields.
If the characters are bad there then it probably is because we are htmlencoding the product name. The code that does this is part of mojoPortal not specific to Site Membership Pro. I've just changed it to use HtmlAttributeEncode which I think should fix it, and pushed the change to the mojoPortal souce code repository. So this will be fixed in the next release of mojoPortal.