【问题标题】:How do you format a url for Google Charts?你如何格式化谷歌图表的网址?
【发布时间】:2011-07-23 17:01:52
【问题描述】:

我正在尝试将 url 字符串转换为 Google Chart 的标签。

我的问题是:我的输入类似于www.mysite.com/link,需要对其进行编码,以便它本身可以嵌入到 Google 图表 URL 中。

之前:www.mysite.com/link/test

之后:www.mysite.com%2Flink%2Ftest

如何在 Rails 中将常规字符串转换为 UTF-8 URL 编码的字符串?

【问题讨论】:

  • 您使用的是 Ruby 1.8 还是 1.9? Ruby 1.9 有一个 Encoding 类,如果需要,可以帮助您在 ASCII 和 UTF-8 之间进行转换,但这仅适用于非 7 位 ASCII 字符。
  • @tadman - Rails 3 和 Ruby 1.9.2
  • @tadman - 有效 URL 是否属于 7 位 ASCII 字符?

标签: ruby-on-rails ruby ruby-on-rails-3 utf-8 google-visualization


【解决方案1】:

还有来自标准库的CGI.escape

>> CGI.escape('www.mysite.com/link/test')
=> "www.mysite.com%2Flink%2Ftest"

【讨论】:

    【解决方案2】:

    Rails 3.0 基于Rack,Rack 提供了Rack::Utils.escape 方法。

    s = "www.mysite.com/link/test"
    # => "www.mysite.com/link/test
    Rack::Utils.escape(s)
    # => "www.mysite.com%2Flink%2Ftest"
    

    【讨论】:

      【解决方案3】:
      #saved in ./lib/string.rb
      class String
        def encode_this
            self.gsub(' ', '%20').gsub('/', '%2F') #etc...
        end
      end
      

      这将是通用的并且可以根据您的需要进行定制。

      "www.mysite.com/link/test".encode_this
      => "www.mysite.com%2Flink%2Ftest"
      

      【讨论】:

      猜你喜欢
      • 2011-04-21
      • 2011-12-03
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多