【问题标题】:Encoding problems when passing parameters in url在url中传递参数时的编码问题
【发布时间】:2011-06-08 22:41:01
【问题描述】:

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

Review - “Episode 20”

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

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

标题在我的表单中显示为

Review - �Episode 20�

我该如何解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    或者使用 URI_escape:

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

    【讨论】:

      【解决方案2】:

      您可以使用encodeURI

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

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

      【讨论】:

        猜你喜欢
        • 2015-10-13
        • 1970-01-01
        • 2019-10-09
        • 1970-01-01
        • 2011-02-09
        • 2021-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多