module CGI::Util

def escape(string)

# => "%27Stop%21%27+said+Fred"
url_encoded_string = CGI.escape("'Stop!' said Fred")
URL-encode a string.
def escape(string)
  encoding = string.encoding
  string.b.gsub(/([^ a-zA-Z0-9_.\-~]+)/) do |m|
    '%' + m.unpack('H2' * m.bytesize).join('%').upcase
  end.tr(' ', '+').force_encoding(encoding)
end