Unless I'm misunderstanding the question, '
isn't a UTF-16 issue. That string has had htmlspecialchars()
or htmlentities()
run on it, and the single quote was converted to the html entity represenation '
.
To get it back to normal you need to do an html_entity_decode().
Generally you only want to do html encoding at output time so you avoid persisting that kind of conversion. If you are taking in HTML input somewhere to get these kind of strings, you probably want to decode entities before you do the UTF conversion and storage.