If you control the json, &8217;
(html entities) should be \u2019
(unicode).
Lets assume you don't control this, it could be interesting to create a function that writes the output to a hidden div, return the html from the hidden div.
Now I must admit angular is not my cup of tea, so basically ...
function convert(output){
var div = document.createElement('div'),
text = document.createTextNode(output);
div.appendChild(text);
return div.innerHTML;
}
I hope you get the idea. You will render your failing characters in HTML first, to pick them back up immediately and "transformed".
After some digging ... take a look at this post which I believe is your problem.