Rails redirect_to utf-8 url

时间:2014-04-10 21:15:24

标签: ruby-on-rails ruby utf-8

在Ruby 1.8.7中使用Rails 3.2.13

我有这个utf-8网址:" http://google.com/?禾楼囖谈河任"

当我使用

redirect_to "http://google.com/?禾楼囖谈河任"

它得到了 - 重定向到http://google.com/ ??????? 但是,当我使用unpack(' U *')打印出字节时,它会输出正确的unicode序列,如下所示:

[104, 116, 116, 112, 58, 47, 47, 103, 111, 111, 103, 108, 101, 46, 99, 111, 109, 47, 63, 31166, 27004, 22230, 35848, 27827, 20219]

我希望它重定向到utf-8网址 有人可以帮忙吗? 感谢

1 个答案:

答案 0 :(得分:0)

试试吧:

url = "http://google.com/?禾楼囖谈河任"

final_URL = URI.escape(url, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))

redirect_to final_URL

希望有所帮助:)