いつも使うときにどっち使うべきか調べてる気がするのでメモ。
CGI.escape(string)
エンコード対象となるのは、英数字, ‘_’, ‘.’, ‘-‘ 以外の文字です。また、スペースは ‘+’ に変換されます。
URI.escape(str[, unsafe])
URI 文字列をエンコードした文字列を返します。unsafe には、URI として指定できない文字を正規表現か文字列で指定します(デフォルトは、 定数 URI::UNSAFE
で、どっち使っても一発では↓のルール通りにはならんのですなぁ。
URL encode the parameter name and values according to the following rules: