【发布时间】:2010-12-04 13:52:28
【问题描述】:
如何将包含 latin1 字符的字符串转换为 utf8?
字符串是一个文档,由 open-uri 打开并包含这些特殊字符。
最好的问候
【问题讨论】:
标签: ruby nokogiri character-encoding open-uri
如何将包含 latin1 字符的字符串转换为 utf8?
字符串是一个文档,由 open-uri 打开并包含这些特殊字符。
最好的问候
【问题讨论】:
标签: ruby nokogiri character-encoding open-uri
require 'iconv'
i = Iconv.new('UTF-8','LATIN1')
a_with_hat = i.iconv("\xc2")
【讨论】:
从你的标签来看,我猜你想要这样的东西:
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' 来获取字符集。
【讨论】: