From: mame@... Date: 2014-05-10T13:37:44+00:00 Subject: [ruby-core:62501] [ruby-trunk - Bug #9806] URI#encode doesn't encode characters '[' and ']'. They should be encoded as %5B and %5D respectively. Issue #9806 has been updated by Yusuke Endoh. I'm unfamiliar with URI spec, but I guess RFC 2732 is related. http://www.ietf.org/rfc/rfc2732.txt > This document incudes an update to the generic syntax for Uniform > Resource Identifiers defined in RFC 2396 [URL]. It defines a syntax > for IPv6 addresses and allows the use of "[" and "]" within a URI > explicitly for this reserved purpose. -- Yusuke Endoh ---------------------------------------- Bug #9806: URI#encode doesn't encode characters '[' and ']'. They should be encoded as %5B and %5D respectively. https://bugs.ruby-lang.org/issues/9806#change-46661 * Author: Charles Leu * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: 2.2.0 and prior versions as well * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- The subject says it all. IRB session demonstrating the problem: charlez$ irb head :001 > RUBY_VERSION => "2.2.0" head :002 > require 'uri' => true head :003 > my_str = '[ futsal club ]' => "[ futsal club ]" head :004 > URI.encode(my_str) => "[%20futsal%20club%20]" head :005 > Note: Testing using JavaScript function encodeURI('[ futsal club ]') produces "%5B%20futsal%20club%20%5D" which is the correct result. -- https://bugs.ruby-lang.org/