cgi escape在&符号之间添加加号

cgi escape adding plus sign between ampersand

我正在使用 CGI::escape,但是它在 & 符号之间添加了 + 符号。这用于在电子邮件中显示。

例如:猫和老鼠。它 returns Tom+&+Jerry。 fb_em_share_subject 是数据库中的一列

def email_share_subject
  "#{CGI::escape fb_em_share_subject}"
end

在rails控制台中

s = "Tom & Jerry"
"Tom & Jerry"

CGI::escape s
"Tom+%26+Jerry"

发现 Util class 有一个 url_encode 方法。

ERB::Util.url_encode "Tom & Jerry"
"Tom%20%26%20Jerry"