ActiveRecord#to_xmlの日本語対応版(?)を作る

ActiveRecordXMLシリアライズするのは非常にお気軽で良いのですが、日本語が数値参照形式になってしまいます。

katochan = Member.create(:name => '加藤茶', :email => 'katochan@hoge.com')
puts katochan.to_xml

結果はこのとおり。

<?xml version="1.0" encoding="UTF-8"?>
<member>
  <created-at type="datetime">2008-06-02T17:46:34+09:00</created-at>
  <id type="integer">1</id>
  <mail>katochan@hoge.com</mail>
  <name>&#21152;&#34276;&#33590;</name>
  <updated-at type="datetime">2008-06-02T17:46:34+09:00</updated-at>
</member>

加藤茶になっていて欲しいのですが、&#21152;&#34276;&#33590;になっていて何とも気持ちが悪いです。これってREXMLの仕様ですか?
d:id:ehara_kw:20071221とd:id:eclipse-a:20070905を参考に、強引ですがこういう対処を取ってみました。

class ActiveRecord::Base
  
  def to_jp_xml(options, &block)
    return self.to_xml(options, &block).gsub(/&#(?:(\d*?)|(?:[xX]([0-9a-fA-F]{4})));/) { [$1.nil? ? $2.to_i(16) : $1.to_i].pack('U') }
  end

end

to_xmlメソッドをオーバーライドしてもいいかな?と思ったけど、小心者なのであえて別メソッドにしています・・