From f09149cab5ae59d40e61787ba3cbfd95c584baab Mon Sep 17 00:00:00 2001 From: naruse Date: Sun, 5 Oct 2008 08:51:22 +0000 Subject: * lib/open-uri.rb (OpenURI.open_uri): set encoding to strio. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ lib/open-uri.rb | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 98ffce75a9..ad8c0dde7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Oct 5 17:49:35 2008 NARUSE, Yui + + * lib/open-uri.rb (OpenURI.open_uri): set encoding to strio. + Sun Oct 5 17:39:21 2008 NARUSE, Yui * ext/stringio/stringio.c (strio_set_encoding): defined for diff --git a/lib/open-uri.rb b/lib/open-uri.rb index c68aee6e97..03f5e6de4e 100644 --- a/lib/open-uri.rb +++ b/lib/open-uri.rb @@ -132,6 +132,11 @@ module OpenURI options ||= {} OpenURI.check_options(options) + if /\Arb?(?:\Z|:([^:]+))/ =~ mode + encoding, = $1,Encoding.find($1) if $1 + mode = nil + end + unless mode == nil || mode == 'r' || mode == 'rb' || mode == File::RDONLY @@ -139,6 +144,8 @@ module OpenURI end io = open_loop(uri, options) + io.set_encoding(encoding) if encoding + p [encoding, io.external_encoding] if block_given? begin yield io -- cgit v1.2.3