我尝试将文件写入utf-8字符集文件。当我做的时候
File.open("#{POST_XML_PATH}/#{filename}", 'w:utf-8) { |f| f.write(my_xml.to_xml) }
我得到文件 - 我的application / xml;字符集= US-ASCII
如何将字符集更改为utf-8?我还尝试在my_xml var
上创建一个.encode('utf-8)谢谢
编辑:
my_xml = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
xml.Envelope(xmlns: 'http://test.com') {
xml.FileInfos {
xml.FileID id
xml.FileDate current_time.try(:strftime, '%Y%m%d')
xml.FileTime current_time.try(:strftime, '%H%M%S')
xml.Customer {
xml.Number '123456'
xml.Name1 "Name1"
xml.Street "Street 1"
xml.ZIP "1000"
xml.City "Geneve"
xml.Country "CH"
}
}
}
File.open("#{POST_XML_PATH}/#{filename}", 'w') { |f| f.write(my_xml.to_xml) }
如果我添加'Genève',字符集是UTF-8,那么如果需要,ruby会确定charset。但我总是想要utf-8