Cuando se dice "se parece a esto:" ¿Estás viendo este valor IRB? Va a escapar caracteres de rango no ASCII con escape de estilo C de las secuencias de bytes que representan los caracteres.
Si las imprime con puts, las recuperará como espera, suponiendo que su consola de shell utiliza la misma codificación que la cadena en cuestión (Aparentemente UTF-8 en este caso, en función de los dos bytes devueltos para ese personaje). Si está almacenando los valores en un archivo de texto, imprimir en un manejador también debería dar como resultado secuencias UTF-8.
Si necesita traducir entre UTF-8 y otras codificaciones, los detalles dependen de si está en Ruby 1.9 o 1.8.6.
Para 1.9: http://blog.grayproductions.net/articles/ruby_19s_string para 1.8, probablemente necesite mirar Iconv.
Además, si usted necesita para interactuar con los componentes COM en Windows, tendrá que indicar a Ruby a utilizar la codificación correcta con algo como lo siguiente:
require 'win32ole'
WIN32OLE.codepage = WIN32OLE::CP_UTF8
Si está interactuando con MySQL, Deberá establecer la intercalación en la tabla para que sea compatible con la codificación con la que está trabajando. En general, es mejor establecer la intercalación en UTF-8, incluso si parte de su contenido vuelve a aparecer en otras codificaciones; solo necesitarás convertir según sea necesario.
Nokogiri tiene algunas características para tratar con diferentes codificaciones (probablemente a través de Iconv), pero estoy un poco fuera de práctica con eso, así que le dejo la explicación a alguien más.
Sería de ayuda para aquellos que ayudan si pudiéramos tener la URL del sitio para que podamos probar en su contra. –
¿Cómo se inspecciona el título después y qué versión de Ruby está usando? 'Rag \ 303 \ 271' _is_' Ragù' UTF-8-encoded. –
Hola, Mladen, estoy usando Ruby 1.8.6. Estoy inspeccionando el título desde la consola interactiva de Ruby. En última instancia, termina siendo almacenado en una base de datos MySQL. Una vez en MySQL, parece que: ù – Moe