Ruby HTML实体问题

Ruby HTML实体问题,ruby,character-encoding,html-entities,windows-console,Ruby,Character Encoding,Html Entities,Windows Console,刚接触Ruby,我想知道如何让下面的内容只打印学位符号 require 'htmlentities' coder = HTMLEntities.new puts coder.decode('°') 当前命令行(Windows)输出为:° 谢谢 它看起来像HTMLEntities.decode以UTF-8格式返回一个字符串,您的控制台被该编码阻塞了。在将字符串传递到put之前,必须对其重新编码 如果您使用的是Ruby 1.9.2,那么代码看起来相当简单(基于和文档): 放入编码器

刚接触Ruby,我想知道如何让下面的内容只打印学位符号

require 'htmlentities'
coder = HTMLEntities.new
puts coder.decode('°')
当前命令行(Windows)输出为:°


谢谢

它看起来像
HTMLEntities.decode
以UTF-8格式返回一个字符串,您的控制台被该编码阻塞了。在将字符串传递到
put
之前,必须对其重新编码

如果您使用的是Ruby 1.9.2,那么代码看起来相当简单(基于和文档):

放入编码器。解码('°;')。编码(编码。查找(''))
在找到控制台可以理解的内容之前,您可能需要尝试几种不同的编码

如果您使用的是较旧版本的Ruby,那么重新编码似乎是可行的(请参阅-我怀疑您只是在向相反的方向发展)

希望这有帮助

puts coder.decode('&deg;').encode(Encoding.find('<Whatever-Windows-Uses>'))