Ho avuto un problema simile. Ho provato a scorrere tutte le combinazioni di input e output charsets. Niente ha aiutato! :(
Tuttavia sono stato in grado di accedere al codice che in realtà andò a prendere i dati e questo è dove il colpevole ha mentito. I dati sono stati recuperati tramite CURL. L'aggiunta di
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
riparato.
Un pratico set di codice per provare tutte le possibili combinazioni di un elenco di set di caratteri:.??
$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);
}
}
fonte
2013-08-15 04:44:49
"La vostra situazione non è chiara dove viene PHP entrare è il contenuto che si sta scaricando codice PHP Cosa stai usando per vedere il testo in seguito? " -dalla risposta di Jon Skeet sotto –
La tua situazione non è chiara. Da dove viene PHP? Il contenuto che stai scaricando è il codice PHP? Che cosa stai usando per visualizzare il testo in seguito? È quasi certamente solo un caso di gestire i dati scaricati nella codifica appropriata. Tuttavia, è necessario sapere quale codifica è (guarda le intestazioni HTTP per un possibile suggerimento, anche se potrebbe non essere stato impostato correttamente) e come usare * la codifica corretta. Non possiamo aiutarti su quest'ultimo punto fino a quando non sapremo cosa stai facendo con i dati dopo averli recuperati. –