Por que obtenho um Encoding :: CompatibilityError com #inspect?
O código a seguir funciona sem problemas:
#encoding: utf-8
class Text
def initialize(txt)
@txt = txt
end
def inspect
"<Text: %s>" % @txt
end
end
p Text.new('Hello World')
Mas se eu tentarp Text.new('Hä, was soll das?')
Eu recebo um Encoding :: CompatibilityError:
inspect_with_umlaut.rb:26:in `p': inspected result must be ASCII only or use the default external encoding (Encoding::CompatibilityError)
from inspect_with_umlaut.rb:26:in `<main>'
Porque isso?
E mais importante: como posso evitá-lo?