diff options
author | seki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-04-30 12:40:52 +0000 |
---|---|---|
committer | seki <seki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-04-30 12:40:52 +0000 |
commit | b72ef21cd3459c67761f6295670802c00a179a41 (patch) | |
tree | ebfaceb8de8601fbfb2c9100ab1eeea1108a6850 /lib/erb.rb | |
parent | b104173c4c7ebee13ddd869d7285f601a0ef8722 (diff) | |
download | ruby-b72ef21cd3459c67761f6295670802c00a179a41.tar.gz |
[ruby-dev:34497] ERB::Util#url_encode bug fix. Reported by rubikitch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/erb.rb')
-rw-r--r-- | lib/erb.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/erb.rb b/lib/erb.rb index 42b3930c10..fade2c72ba 100644 --- a/lib/erb.rb +++ b/lib/erb.rb @@ -799,7 +799,9 @@ class ERB # Programming%20Ruby%3A%20%20The%20Pragmatic%20Programmer%27s%20Guide # def url_encode(s) - s.to_s.gsub(/[^a-zA-Z0-9_\-.]/n){ sprintf("%%%02X", $&.unpack("C")[0]) } + s.to_s.dup.force_encoding("ASCII-8BIT").gsub(/[^a-zA-Z0-9_\-.]/n) { + sprintf("%%%02X", $&.unpack("C")[0]) + } end alias u url_encode module_function :u |