diff options
Diffstat (limited to 'lib/uri/common.rb')
-rw-r--r-- | lib/uri/common.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/uri/common.rb b/lib/uri/common.rb index 19ca44d7bc..b4de6ad40c 100644 --- a/lib/uri/common.rb +++ b/lib/uri/common.rb @@ -743,9 +743,11 @@ module URI end TBLENCWWWCOMP_.freeze end - str = str.dup.force_encoding(Encoding::ASCII_8BIT) + str = str.to_s.dup + enc = str.encoding + str.force_encoding(Encoding::ASCII_8BIT) str.gsub!(/[^*\-.0-9A-Z_a-z]/, TBLENCWWWCOMP_) - str + str.force_encoding(enc) end # Decode given +str+ of URL-encoded form data. |