2010-12-07 13 views

Respuesta

25

¿Está utilizando Nokogiri XML Builder? Se puede pasar una opción de codificación para el método nuevo():

nuevas opciones (= {})

Crear un nuevo objeto constructor. las opciones se envían al documento de nivel superior que se está construyendo.

La construcción de un documento con una codificación particular, por ejemplo:

Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml| 
    ... 
    end 

también this page dice que usted puede hacer lo siguiente (cuando no se utiliza Builder):

doc = Nokogiri.XML('<foo><bar /><foo>', nil, 'EUC-JP') 

Es de suponer que podría cambiar ' EUC-JP 'a' UTF-8 '.

+1

muchas gracias, eso es lo que estaba buscando. – Luc

4

Al analizar el documento se puede establecer la codificación de la siguiente manera:

doc = Nokogiri::XML::Document.parse(xml_input, nil, "UTF-8") 

Para mí que devuelve <?xml version="1.0" encoding="UTF-8"?>

+0

de hecho, no analizo un archivo existente, pero creo uno nuevo usando Nokogiri :: XML :: Document.new – Luc

Cuestiones relacionadas