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

发布于 2024-10-11 23:15:25 字数 317 浏览 2 评论 0原文

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

Review - “Episode 20”

当我将该标题传递给我的表单时:

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

该标题在我的表单中显示为

Review - �Episode 20�

“如何解决此问题?”

I'm writing a piece of Javascript that takes in the title of the current page, and sends it to a form in a Rails 3 app. If the title is something like

Review - “Episode 20”

then when I pass that title to my form:

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

the title appears in my form as

Review - �Episode 20�

How do I fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

站稳脚跟 2024-10-18 23:15:25

你可以使用 encodeURI

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

我不是 Ruby 专业人士,但我相信解码此内容的 Ruby 方法是 CGI::unescape()

You can use encodeURI

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

I'm no Ruby pro, but I believe the Ruby way to decode this is CGI::unescape()

尐籹人 2024-10-18 23:15:25

或者使用 URI_escape:

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

Or use URI_escape:

enc_uri = URI.escape("http://example.com/?a=\11\15")
# => "http://example.com/?a=%09%0D"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文