Sto tentando di visualizzare un feed di dati su una pagina. Stiamo vivendo problemi di codifica con un personaggio strano. Per qualche motivo, nel feed c'è il carattere U+FFFD
. E htmlentities()
non sfuggirà al personaggio, quindi ho bisogno di sostituirlo manualmente. (Sto usando PHP 5.3)PHP: Come codificare U + FFFD per fare una sostituzione?
ho provato la seguente:
$string = str_replace("\xFFFD", "_", $string);
$string = str_replace("\XFFFD", "_", $string);
$string = str_replace("\uFFFD", "_", $string);
$string = str_replace("\x{FFFD}", "_", $string);
$string = str_replace("\X{FFFD}", "_", $string);
$string = str_replace("\P{FFFD}", "_", $string);
$string = str_replace("\p{FFFD}", "_", $string);
Nessuno del lavoro di cui sopra.
Dopo aver letto questa pagina - http://php.net/manual/en/regexp.reference.unicode.php - Non sono sicuro di cosa sto facendo male. Devo compilare il supporto UTF-8 in PCRE?
[Questo può aiutare] (http://stackoverflow.com/questions/4766778/how-to-encode-ufffd-in-order-to-do-a-replace?rq=1) linguaggio diverso ma molto simile risultato – Dale
Prova anche a utilizzare la funzione [preg_replace] (http://php.net/preg_replace) in quanto str_replace non usa regex – Dale
@redolent, Guys, interrompe [abusando del carattere 'U + FFFD'] (http: // stackoverflow.com/questions/4766778/how-to-encode-ufffd-in-order-to-do-a-replace#comment44707644_4766778) per quello che ** non è destinato a essere **. – Pacerier