【问题标题】:Convert latin1 string to utf8?将latin1字符串转换为utf8?
【发布时间】:2010-12-04 13:52:28
【问题描述】:

如何将包含 latin1 字符的字符串转换为 utf8?

字符串是一个文档,由 open-uri 打开并包含这些特殊字符。

最好的问候

【问题讨论】:

    标签: ruby nokogiri character-encoding open-uri


    【解决方案1】:

    Iconv

    require 'iconv'
    i = Iconv.new('UTF-8','LATIN1')
    a_with_hat = i.iconv("\xc2")
    

    【讨论】:

      【解决方案2】:

      从你的标签来看,我猜你想要这样的东西:

      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' 来获取字符集。

      【讨论】:

        猜你喜欢
        • 2012-03-13
        • 2015-04-20
        • 1970-01-01
        • 1970-01-01
        • 2012-10-03
        • 2014-01-29
        • 2013-01-04
        • 2015-04-09
        • 2010-11-29
        相关资源
        最近更新 更多