2011-12-12 1 views
8

Ho incorporato un breve script nel sito Web di un cliente che acquisisce il contenuto del feed di testo di una terza parte. Il risultato sono 5 link codificati in ISO8859-1. Poiché l'intero sito web ha contenuti francesi UTF-8, questo feed sta creando artefatti.È possibile convertire il feed di testo codificato ISO8859-1 in UTF-8 prima di visualizzare utilizzando JavaScript?

C'è un modo per utilizzare JavaScript/jQuery per convertire il feed ISO in UTF e quindi visualizzare correttamente tutto sul sito Web?

Grazie!

EDIT

La soluzione nel mio caso era in realtà facile. Tutto quello che ho fatto è stato aggiungere charset='ISO8859-1' nel codice JavaScript che stava tracciando le notizie. Spero che questo possa aiutare qualcuno.

+0

Ho trovato [questo] (http://www.webtoolkit.info/javascript-utf8.html) da webtoolkit. Non sono sicuro di cosa sia la codifica della stringa di input, ma hanno una [demo] (http://www.webtoolkit.info/demo/javascript-utf-8) in cui è possibile testare la codifica. – DefyGravity

risposta

1

Sembra che tu abbia risolto la soluzione.

JavaScript utilizza internamente UTF-16 (credo) sulla maggior parte dei sistemi. Pertanto, quando si importano dati da un feed, è necessario assicurarsi e dirgli quale set di caratteri aspettarsi in modo che decodifichi correttamente in interni di Javascript. Questo può essere fatto in vari modi, ma è più semplice se il feed dichiara correttamente la codifica dei caratteri usando le intestazioni/XML. Quindi, il browser di solito gestisce i dettagli per ottenere elementi sulla pagina in modo che vengano visualizzati correttamente nella codifica della pagina.

ho trovato un paio di casi limite che erano difficili da affrontare, ma in gran parte, questo solo funziona finché è assicurarsi tutti sanno quello che codifica il feed sta utilizzando come si entra.

2

Aggiungere charset='ISO8859-1' in il codice JavaScript che tira il feed delle notizie.