I used to have this nice little function to translate weird ISO-8895-15 characters to UTF-8 in a string so it wont break RSS/Atom feeds
function convertCharset($contents) {
iconv_set_encoding("internal_encoding", "ISO-8859-15");
iconv_set_encoding("output_encoding", "ISO-8859-1");
ob_start("ob_iconv_handler");
echo $contents;
$contents = ob_get_clean();
$contents = strtr($contents, array(
"\x80" => "e",
"\x81" => " ",
"\x82" => "'",
"\x83" => 'f',
"\x84" => '"',
"\x85" => "...",
"\x86" => "+",
"\x87" => "#",
"\x88" => "^",
"\x89" => "0/00",
"\x8A" => "S",
"\x8B" => "<",
"\x8C" => "OE",
"\x8D" => " ",
"\x8E" => "Z",
"\x8F" => " ",
"\x90" => " ",
"\x91" => "`",
"\x92" => "'",
"\x93" => '"',
"\x94" => '"',
"\x95" => "*",
"\x96" => "-",
"\x97" => "—",
"\x98" => "~",
"\x99" => "(TM)",
"\x9A" => "s",
"\x9B" => ">",
"\x9C" => "oe",
"\x9D" => " ",
"\x9E" => "z",
"\x9F" => "Y")
);
return str_replace('iso-8859-1', 'utf-8', utf8_encode($contents));
}
now it's broken after iconv.internal_encoding , iconv.output_encoding are deprecated in PHP => 5.6 in php.net someone said that I should use ini_set('default_charset', 'UTF-8'); but I don't think that would not work in this function What should I do to make this function work again