如何在ruby中发送原始标题

如何在ruby中发送原始标题,ruby,http-headers,content-type,Ruby,Http Headers,Content Type,我有一个使用UTF-8字符集的页面,但是页面上的字符被损坏了,我认为这只是设置标题“Content-Type:text/html;charset=UTF-8”的问题。。。我知道如何在PHP中实现这一点,只需将以下内容放在页面顶部即可 <?php header("Content-Type: text/html; charset=utf-8"); ?> 有没有办法用ruby实现这一点?你能把页眉放在页面的顶部吗 更新:太平洋标准时间6月29日下午1:20 我不会将其作为rails

我有一个使用UTF-8字符集的页面,但是页面上的字符被损坏了,我认为这只是设置标题“Content-Type:text/html;charset=UTF-8”的问题。。。我知道如何在PHP中实现这一点,只需将以下内容放在页面顶部即可

<?php header("Content-Type: text/html; charset=utf-8"); ?>

有没有办法用ruby实现这一点?你能把页眉放在页面的顶部吗


更新:太平洋标准时间6月29日下午1:20


我不会将其作为rails应用程序的一部分使用。它用于独立应用程序中的嵌入式浏览器页面,我可以使用Javascript和/或Ruby创建动态页面。

您使用Ruby on Rails吗

request.headers["Content-Type"] # => "text/plain"
或者Ruby的CGI库


如果您使用的是Rails,您需要:

response.content_type = Mime::HTML
response.charset      = "utf-8"
您也可以尝试直接设置标题:

response.headers["Content-Type"] = "text/html; charset=utf-8"
如果使用的是Rack,则需要使用元组的第二个元素设置标头:

class MyRackApp
  def call(env)
    response = []
    # do stuff with env, populating response
    # response is [status_code, headers, body]
    response[1]["Content-Type"] = "text/html; charset=utf-8"
    response
  end
end
如果您使用的是原始CGI(我绝对推荐Rack而不是CGI.rb):


我不知道如何直接回答这个问题而不进一步了解如何生成页面,但我可能建议您研究一些针对Ruby的轻量级非Rails web框架。有很多,他们让这样的事情变得容易


例如,有一个易于使用的哈希表,用于将头发送到浏览器。同样,在中,您可以执行类似于
@headers['Content-Type']='text/css'

的操作。请解释如何生成网页。您正在使用cgi模块吗?它是Rails应用程序的一部分吗?抱歉,我们无法帮助您。你能发布一段代码让我们看看内容是如何生成的吗?谢谢这三个视图。我使用了“cgi”库。(它是quick-n-dirty)想使用Ruby的CGI吗…Ruby是随此提供的,还是我需要下载一些东西?它随Ruby提供,但你需要
需要
它。
header("text/html; charset=utf-8")