Script ajax: Risolvere problemi di charset ajax

   difficoltà:  script script script script script

Script simili
16/6/2008


Ci sarà capitato di dover stampare a video del testo recuperato con ajax tramite una chiamata asincrona, e spesso abbiamo avuto problemi di charset ed il testo recuperato ci sarà stampato con caratteri incomprensibili.

La soluzione che al momento ho trovato per ovviare al problema è di bufferizzare l'output della pagina chiamata con ajax e di encodare l'output in utf8 tramite la funzione utf8_encode prima di stampare a video il risultato.

Vediamo un esempio di pagina richiamata tramite ajax. Il testo stampato in questa pagina verrà inserito all'interno della pagina che la richiama (che in questo caso non vedremo):

ob_start();

echo "Questo è il contenuto della pagina.Riga1<br>";
echo "Questo è il contenuto della pagina.Riga2<br>";

$content = utf8_encode(ob_get_contents());
ob_end_clean();
echo $content;

Vediamo cosa facciamo. Con ob_start() diciamo a php di non buttare fuori l'output della pagina ogni volta che viene richiesto, ad esempio con un echo, ma lo bufferizzerà.

ob_get_contents() preleva l'output dal buffer, cosi da poterlo assegnare a una variabile, e darci la possibilità di cancellare il buffer (ob_end_clean).
Ora non ci resta che encodare il contenuto del buffer in utf8 e stamparlo a video.

Social:


Donazione:
Se questo script ti è stato utile e ti ho fatto risparmiare tempo e denaro fai una
qualsiasi cifra è ben accetta! 1€, 3€, 5€ ,10€, 50€ ;-) fai te!

Permalink: Tag:
script   ajax   utf8   charset  
Script Simili: Permalink: Link utili:
Tools:
Feed RSS    



Lascia un commento


Codice di controllo*:
Nome*:
Email/Link:
Testo*:
 
I campi contrassegnati con * sono obbligatori.