Ho un'applicazione Sinatra (http://analyzethis.espace-technologies.com) che fa il seguenteCome convertire una risposta Net :: HTTP a una determinata codifica in Ruby 1.9.1?
- Recuperare una pagina HTML (via rete/http)
- Creare un documento Nokogiri dal response.body
- estrarre alcune informazioni e inviare torna nella risposta. La risposta dovrebbe essere codificata in UTF-8
Quindi sono arrivato al problema mentre cercavo di leggere i siti che utilizzano codifiche Windows-1256 come www.filfan.com o www.masrawy.com.
Il problema è il risultato della conversione della codifica non è corretta anche se non vengono generati errori.
La rete/http response.body.encoding dà ASCII-8BIT che non possono essere convertiti in UTF-8
Se faccio Nokogiri :: HTML (response.body) e utilizzare i selettori CSS per ottenere certi contenuto dalla pagina - ad esempio il contenuto del tag title - Ricevo una stringa che quando richiamo string.encoding restituisce WINDOWS-1256. Io uso string.encode ("utf-8") e invio la risposta usando quello, ma ancora una volta la risposta non è corretta.
Qualche suggerimento o idea di cosa c'è che non va nel mio approccio?
Funziona benissimo! –