Результаты вашего кода идеально подходят для моего компьютера. Все Umlaute отображаются правильно, не как HTML-объекты, а как настоящие Umlaute. Возможно, проверьте свою версию Ruby: в Ruby 1.8 были проблемы с не-ASCII-символами, в Ruby 1.9 это исправлено.