为什么URI.escape不能单引号?
URI.escape("foo'bar\" baz") => "foo'bar%22%20baz"
解决方法
出于同样的原因,它不逃避?或/或:等等. URI.escape()只转义不能在URL中使用的字符,而不是具有特殊意义的字符.
你要找的是CGI.escape()
:
require "cgi" CGI.escape("foo'bar\" baz") => "foo%27bar%22+baz"