Хм. Я использую эту функцию для санации текста, скопированного в RTE. Это может или не может работать в этом случае. Он конвертируется в HTML-объекты, но вы можете настроить его так, чтобы он просто конвертировался в обычные символы:
function convertFromCP1252($string)
{
$search = array('&',
'<',
'>',
'"',
chr(212),
chr(213),
chr(210),
chr(211),
chr(209),
chr(208),
chr(201),
chr(145),
chr(146),
chr(147),
chr(148),
chr(151),
chr(150),
chr(133),
chr(194)
);
$replace = array( '&',
'<',
'>',
'"',
'‘',
'’',
'“',
'”',
'–',
'—',
'…',
'‘',
'’',
'“',
'”',
'–',
'—',
'…',
''
);
return str_replace($search, $replace, $string);
}