Cómo convertir una cadena a UTF8 en Rubí

Estoy escribiendo un rastreador que utiliza Hpricot. Descarga una lista de cadenas de alguna página web, entonces trato de escribir en el archivo. Algo está mal con la codificación:

"\xC3" from ASCII-8BIT to UTF-8

He elementos que se presentan en una página web e impreso de esta manera:

Développement

la str.encoding devuelve UTF-8, así force_encoding('UTF-8') no ayuda. ¿Cómo puedo convertir este legible UTF-8?

  • Hpricot ya no se mantiene, considere el uso de Nokogiri. También, usted probablemente debería mencionar lo de la codificación de la página web original es.
InformationsquelleAutor ciembor | 2013-06-10

3 Kommentare

  1. 57

    Su cadena parece haber sido codificado al revés:

    "Développement".encode("iso-8859-1").force_encoding("utf-8")
    #=> "Développement"
    • Funciona bien para la mayoría de los casos. Pero a veces: U+201C from UTF-8 to ISO-8859-1 in CIDEM / ACC1Ó U+20AC from UTF-8 to ISO-8859-1 in Citi’s Sustainable Development Investments no. También algunos de los nombres que se convierten, pero mal y yo no puedo semilla en una base de datos con incomplete multibyte character mensaje de error
    • Lo siento, esto no se entiende como una solución. Usted debe arreglar el problema de configuración/detección de la codificación correcta cuando la lectura de las cadenas en su aplicación.
    • gran solución, gracias!
    • También existe la opción de utilizar Encoding::UTF_8 en lugar de usar más memoria para la "utf-8" literal de cadena (o cualquier otra codificación de la cadena).
  2. 47

    Parece que la cadena piensa que es UTF-8, pero en realidad, es algo más, probablemente ISO-8859-1.

    Definir (fuerza) la codificación correcta en primer lugar, a continuación, convertir a UTF-8.

    En su ejemplo:

    puts "Développement".encode('iso-8859-1').encode('utf-8')

    Una alternativa es:

    puts "\xC3".force_encoding('iso-8859-1').encode('utf-8') #-> Ã

    Si el à no tiene sentido, a continuación, intente con otra codificación.

    • Funciona para los archivos pdf creados con Wicked PDF joya

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea