У меня была похожая проблема. Я попытался перебрать все комбинации входных и выходных кодировок. Ничего не помогло! (
Однако я смог получить доступ к коду, который на самом деле извлек данные, и именно здесь виноват виновник. Данные были получены через cURL. Добавление
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
исправил это.
Удобный набор кода для опробования всех возможных комбинаций списка кодировок:
$charsets = array(
"UTF-8",
"ASCII",
"Windows-1252",
"ISO-8859-15",
"ISO-8859-1",
"ISO-8859-6",
"CP1256"
);
foreach ($charsets as $ch1) {
foreach ($charsets as $ch2){
echo "<h1>Combination $ch1 to $ch2 produces: </h1>".iconv($ch1, $ch2, $text_2_convert);
}
}