ruby file encoding utf-8 dump

external encoding ruby



Cómo convertir una cadena a UTF8 en Ruby (3)

Estoy escribiendo un rastreador que usa Hpricot. Descarga una lista de cadenas desde alguna página web, luego intento escribirla en el archivo. Algo está mal con la codificación:

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

Tengo elementos que se muestran en una página web y se imprimen de esta manera:

Développement

el str.encoding devuelve UTF-8 , por lo que force_encoding(''UTF-8'') no ayuda. ¿Cómo puedo convertir esto a UTF-8 legible?



Parece que su cadena cree que es UTF-8, pero en realidad, es otra cosa, probablemente ISO-8859-1.

Defina (fuerce) la codificación correcta primero, luego conviértala a UTF-8.

En tu 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 à no tiene sentido, intente con otra codificación.


Su cadena parece haber sido codificada de manera incorrecta:

"Développement".encode("iso-8859-1").force_encoding("utf-8") #=> "Développement"