我有一个使用UTF-8字符集的页面,但是页面上的字符被破坏了,我认为这只是设置标题“Content-Type:text / html; charset = utf-8” “...我知道如何在PHP中执行此操作,只需将以下内容放在页面顶部。
<?php header("Content-Type: text/html; charset=utf-8"); ?>
有没有办法在红宝石中这样做?你可以在页面顶部放置一个标题吗?
<小时/> 更新: 6月29日,太平洋标准时间1:20p
我不将此作为rails应用程序的一部分使用。它适用于独立应用程序中的嵌入式浏览器页面,我可以使用Javascript和/或Ruby来创建动态页面。
答案 0 :(得分:2)
您使用的是Ruby on Rails吗?
request.headers["Content-Type"] # => "text/plain"
或者Ruby的CGI库?
http://www.ruby-doc.org/stdlib/libdoc/cgi/rdoc/classes/CGI.html#M000098
答案 1 :(得分:1)
如果您正在使用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 over cgi.rb):
header("text/html; charset=utf-8")
答案 2 :(得分:0)