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 Comentarios

  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

Dejar respuesta

Please enter your comment!
Please enter your name here