我使用Nokogiri创建了一个xml文档:Nokogiri::XML::Document
我的文件标题为<?xml version="1.0"?>
,但我希望<?xml version="1.0" encoding="UTF-8"?>
。我可以使用任何选项,以便编码吗?
答案 0 :(得分:31)
您使用的是Nokogiri XML Builder吗?您可以将编码选项传递给new()方法:
new(options = {})
创建一个新的Builder对象。选项 被发送到顶级文档 正在建设中。
使用特定编码构建文档,例如:
Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
...
end
同样this page表示您可以执行以下操作(不使用Builder时):
doc = Nokogiri.XML('<foo><bar /><foo>', nil, 'EUC-JP')
据推测,你可以改变EUC-JP&#39;到&#39; UTF-8&#39;。
答案 1 :(得分:4)
解析文档时,您可以设置如下编码:
doc = Nokogiri::XML::Document.parse(xml_input, nil, "UTF-8")
对我而言
<?xml version="1.0" encoding="UTF-8"?>
答案 2 :(得分:0)
如果您不使用 Object
FAST_REFRESH: true
NODE_ENV: "development"
PUBLIC_URL: ""
REACT_APP_SPACE_ID: "my access key"
REACT_APP_SPACE_TOKEN: "my access token"
WDS_SOCKET_HOST: undefined
WDS_SOCKET_PATH: undefined
WDS_SOCKET_PORT: undefined
__proto__: Object
而是直接创建文档对象,则可以使用 Document#encoding=
设置编码:
Nokogiri::XML::Builder