Tentei setar no lighttpd.conf um mimetype, mas não dava certo. Então, googlando, achei essa solução.
Você precisa especificar a codificação para o eRuby, de forma que ele já repasse para o Lighttpd codificado corretamente.
Crie este arquivo como /usr/bin/eruby_mod
#!/usr/bin/env ruby
require 'pathname'
exec("#{Pathname.new(__FILE__).dirname}/eruby -C utf-8 #{ARGV.join(' ')}")
Lembrando que você pode alterar a codificação de utf-8 para a que você quiser.
Lembre-se de dar permissão de execução ao arquivo.
Feito isso, vá no arquivo de configuração do Lighttpd /etc/lighttpd/lighttpd.conf e adicione (ou modifique se já houver) isto:
cgi.assign = ( ".rhtml" => "/usr/bin/eruby_mod" )
Pronto. Reinicie o Lighttpd e já deve estar funcionado a codificação correta.
O motivo é que Lighttpd não gosta de ter parâmetros na linha de comando, então eu precisava de um anexador na execução do eRuby.
Fonte