Ruby 如何让Nokogiri添加正确的XML编码?

Ruby 如何让Nokogiri添加正确的XML编码?,ruby,xml,encoding,nokogiri,Ruby,Xml,Encoding,Nokogiri,我已经用Nokogiri创建了一个xml文档:Nokogiri::xml::Document 我的文件头是,但我希望有。是否可以使用任何选项来显示编码?解析文档时,您可以如下设置编码: doc = Nokogiri::XML::Document.parse(xml_input, nil, "UTF-8") 对我来说,这是回报 您正在使用Nokogiri吗?可以将编码选项传递给new()方法: 新建(选项={}) 创建一个新的生成器对象。选择权 发送到顶层文档 这是正在建造的 使用特定编码生成文

我已经用Nokogiri创建了一个xml文档:
Nokogiri::xml::Document


我的文件头是
,但我希望有
。是否可以使用任何选项来显示编码?

解析文档时,您可以如下设置编码:

doc = Nokogiri::XML::Document.parse(xml_input, nil, "UTF-8")
对我来说,这是回报

您正在使用Nokogiri吗?可以将编码选项传递给new()方法:

新建(选项={})

创建一个新的生成器对象。选择权 发送到顶层文档 这是正在建造的

使用特定编码生成文档,例如:

还表示可以执行以下操作(不使用生成器时):

doc=Nokogiri.XML(“”,nil,'EUC-JP')

大概您可以将“EUC-JP”更改为“UTF-8”。

如果您没有使用
Nokogiri::XML::Builder
,而是直接创建文档对象,您可以使用以下设置编码:

doc=Nokogiri::XML::Document.new
# => #
把博士带到
# 
doc.encoding='UTF-8'
把博士带到
# 

事实上,我不解析现有文件,而是使用Nokogiri::XML::Document.new创建一个新文件
  Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
    ...
  end
doc = Nokogiri.XML('<foo><bar /><foo>', nil, 'EUC-JP')