如何将包含latin1字符的字符串转换为utf8?
该字符串是一个文档,由open-uri打开,包含这些特殊字符。
祝你好运
答案 0 :(得分:16)
require 'iconv'
i = Iconv.new('UTF-8','LATIN1')
a_with_hat = i.iconv("\xc2")
答案 1 :(得分:4)
根据你的标签判断,我想你想要这样的东西:
require 'rubygems'
require 'open-uri'
require 'nokogiri'
require 'iconv'
file = open(your_uri)
doc = Nokogiri::HTML(Iconv.conv('utf-8', 'latin1', file.readlines.join("\n")))
doc.xpath(your_xpath)
如果您不确定uri使用什么字符集,可以使用file.charset
来获取字符集,而不是'latin'
。