Just simply use html_entity_decode, to see if it will work.
But if in some cases, html_entity_decode still cannot get rid off some entities code, then it might be due to it was entities-ed on unicode, so html_entity_decode($string, ENT_COMPAT, 'utf-8') will solve that problem.
And html_entity_decode -- other character set.
The problems are sometimes, if you were working with merged 3rd party data, then it would be a headache, because some of them may not be entities-ed, some of them entities-ed on unicode, some of them are unicode and some of them are not unicode.