On Sun, Apr 24, 2011 at 1:33 AM, yu nobuoka <nobuoka / r-definition.com>wrote:

> The document of CSV::read says "This method also understands an additional
> :encoding parameter that you can use to specify the Encoding of the data
> in the file to be read. You must provide this unless your data is in
> Encoding::default_external()."
> However, when the :encoding parameter is not provided, the encoding of the
> CSV data
> is treated as ASCII-8BIT. Not as Encoding.default_external.
> CSV::open and CSV::foreach are also similar.
>
> I think the actual behaviour of these methods doesn't conform to the
> document of these.


It seems this was an intentional change not made by me:

r25362 | naruse | 2009-10-15 22:04:38 -0500 (Thu, 15 Oct 2009) | 2 lines

* lib/csv.rb (CSV#raw_encoding): returns ASCII-8BIT when the io
  doesn't have encoding.

This seems like a wrong choice.  Why would we not want to support the
default encodings?  Can someone please explain to me why this was done?

James Edward Gray II