ruby编码8217,Hexa 2019,八进制20031,Digr'9

问题描述 投票:0回答:1

使用下面的代码将Ascii-8bit数据导出到iso-8859-1,我得到以下字符的错误编码: 8217,Hexa 2019,八月20031,Digr'9

l'an 2020lâ2020中编码为utf-8后导致编码错误和结果

我该如何解决?谢谢

  def exportCsv #{{{

    f = File.new(@outcsvpath, mode: 'wb', encoding: 'iso-8859-1')

    @outcsv.each { |row|
    begin
      f.puts(row)
    rescue
      @logger.error( 'Encoding problem with ' + row )
      @logger.error( 'Encoding problem attempt to convert to utf-8 ' + row.force_encoding('iso-8859-1').encode('utf-8') )
    end
    }
    f.close()

    p 'Out csv : '+@outcsvpath
  end #}}}

使用下面的代码将Ascii-8bit数据导出到iso-8859-1,我获得了以下字符的错误编码:8217,Hexa 2019,Octal 20031,Digr'9 l'an 2020,它们导致编码错误,并.. 。

ruby encoding utf-8 ascii-8bit
1个回答
0
投票

将字符编码为char的iso-8859-1的错误(Hex 2019),可以通过以下方法部分解决:

© www.soinside.com 2019 - 2024. All rights reserved.