Ruby 1.9, YAML & encodings

Hello all.

I'm trying to migrate a project to ruby 1.9.

I have a lot of source, ressource, and data files, all encoded in
ISO8859-1(5), so I'm trying to preserve this.

The trouble is that YAML seems to load every string file that contains a
non ASCII char with an encoding of "ASCII-8BIT" ; if I understand
correctly, it should follow the Encoding.default_external value.

A small example session :

13:20 fred@balvenie:~/ruby/blackops> ruby19 -v
ruby 1.9.0 (2008-07-25 revision 18217) [i386-freebsd6]
13:20 fred@balvenie:~/ruby/blackops> irb19

require "yaml"

=> true

Encoding.default_external

=> #<Encoding:ISO-8859-15>

txt = "\351\351\351"

=> "ééé"

txt.encoding

=> #<Encoding:ISO-8859-15>

z = YAML.load(YAML.dump(txt))

=> "\351\351\351"

z.encoding

=> #<Encoding:ASCII-8BIT>

z << "\351"

ArgumentError: append incompatible encoding strings: ASCII-8BIT and ISO-8859-15
        from (irb):62
        from /usr/local/lib/ruby/1.9/irb.rb:149:in `block (2 levels) in eval_input'
        from /usr/local/lib/ruby/1.9/irb.rb:262:in `signal_status'
        from /usr/local/lib/ruby/1.9/irb.rb:146:in `block in eval_input'
        from /usr/local/lib/ruby/1.9/irb.rb:145:in `eval_input'
        from /usr/local/lib/ruby/1.9/irb.rb:69:in `block in start'
        from /usr/local/lib/ruby/1.9/irb.rb:68:in `catch'
        from /usr/local/lib/ruby/1.9/irb.rb:68:in `start'
        from /usr/local/bin/irb19:12:in `<main>'

z.force_encoding('ISO8859-15')

=> "ééé"

z << "\351"

=> "éééé"

Any ideas ?

(Nota : this is a hand compiled 1.9.0-3 version under FreeBSD, but it
        does the same with the official ports version, 1.9.0-1.)
Fred

···

--
Courage is not the absence of fear,
but rather the judgement that
something else is more important than fear.
                                                       (Ambrose Redmoon)