diff options
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 |