Semplicemente perfetto: utf8_encode ($ stringa) sostituisce gli spazi regolari con spazi non interrotti ("\ u00a0"). Ho provato a filtrare il risultato con str_replace:PHP utf8_encode() converte gli spazi in spazi senza interruzioni
str_replace("\u00a0", " ", utf8_encode($string))
Ma questo non l'ha risolto.
EDIT: Sigh, sono un idiota. Non è un problema con utf8_encode(). Ho pensato che stavo usando quella funzione, ho dimenticato di disabilitarla nel mio codice. I miei dati vengono eseguiti attraverso json_encode() per una richiesta AJAX. È un problema con json_encode()? Sono preoccupato che potrei essere colpevole di aver abusato di Stack Overflow. Proverò a cercarlo su Google.
FINAL EDIT: il problema riguardava i dati stessi, che sono stati copiati da un documento di Word in una tabella MySQL. Tutti gli spazi sono stati copiati come spazi non interrotti. Scusa per aver sprecato il tempo di tutti.
La domanda, come posso ottenere i miei spazi regolari indietro? –
Se la stringa è codificata in UTF-8, è necessario sostituire la sequenza corrispondente di unità di codice anziché il valore del punto di codice stesso. –
Qual è il tuo contributo? 0xA0 è anche lo spazio continuo in ISO 8859-1. –