all requests are utf-8. Don't use the external encoding.

This commit is contained in:
Damien Mathieu
2011-06-14 16:58:06 +02:00
parent 383d56b5ee
commit 383fd143bf
2 changed files with 3 additions and 9 deletions

View File

@@ -33,10 +33,9 @@ module ActionDispatch
private
def encode_filename(filename)
# Encode the filename in the default_external encoding, unless it is nil or we're in 1.8
# Encode the filename in the utf8 encoding, unless it is nil or we're in 1.8
if "ruby".encoding_aware? && filename
encoding = Encoding.default_external
filename.force_encoding(encoding)
filename.force_encoding("UTF-8").encode!
else
filename
end

View File

@@ -14,12 +14,7 @@ module ActionDispatch
end
if "ruby".encoding_aware?
def test_filename_should_be_in_default_encoding
Encoding.default_external = "UTF-16LE"
uf = Http::UploadedFile.new(:filename => 'foo', :tempfile => Object.new)
assert "UTF-16LE", uf.original_filename.encoding.to_s
Encoding.default_external = "UTF-8"
def test_filename_should_be_in_utf_8
uf = Http::UploadedFile.new(:filename => 'foo', :tempfile => Object.new)
assert "UTF-8", uf.original_filename.encoding.to_s
end