在url中传递参数时编码问题

时间:2011-01-14 04:18:32

标签: javascript ruby-on-rails ruby-on-rails-3 unicode encoding

我正在编写一段Javascript,它接收当前页面的标题,并将其发送到Rails 3应用程序中的表单。如果标题是

Review - “Episode 20”

然后当我将该标题传递给我的表格时:

http://localhost:3000/notes/myform?title=Review - “Episode 20”

标题显示在我的表单中

Review - �Episode 20�

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以使用encodeURI

console.log(encodeURI('Review - “Episode 20”')); 
// "Review%20-%20%E2%80%9CEpisode%2020%E2%80%9D"

我不是Ruby专业人士,但我相信Ruby解码方式是CGI::unescape()

答案 1 :(得分:0)

或使用URI_escape:

enc_uri = URI.escape("http://example.com/?a=\11\15")
# => "http://example.com/?a=%09%0D"