Jag hittade en lösning
Kod:
$badchr = array(
"\xe2\x80\xa6", // ellipsis
"\xe2\x80\x93", // long dash
"\xe2\x80\x94", // long dash
"\xe2\x80\x98", // single quote opening
"\xe2\x80\x99", // single quote closing
"\xe2\x80\x9c", // double quote opening
"\xe2\x80\x9d", // double quote closing
"\xe2\x80\xa2" // dot used for bullet points
);
$goodchr = array(
'...',
'-',
'-',
'\'',
'\'',
'"',
'"',
'*'
);
$str=str_replace($badchr,$goodchr,$str);
Men jag vet fortfarande inte varför inte utf8_decode() fungerade av sig själv...