IIRC this stuff is caused by utf-8 characters not being properly handled at some point. If the forum was running ISO language files at some stage then the db would save UTF-8 characters as a string of crud.But for some reason shapes didn’t match the pictures.
You have a word censor in admin, right? So I'm thinking it should be possible to use this to clean up old posts. If you throw "’" into the censor and have it give an output of a single apostrophe, that would fix the quoted bug. If any other UTF-8-to-crud strings are hanging around in old posts, the same trick should fix them too.