Caracteres inválidos no seeds.rb

Ao executar o db:seed para fazer uma carga inicial de dados no Rails 3.0.5, rodando com o Ruby 1.9.2 no RVM, obtive o seguinte erro:


invalid multibyte char (US-ASCII)

O problema era que, no meu arquivo seeds.rb, havia Strings com caracteres inválidos para o encoding ASCII padrão. Por exemplo:


Genre.create(:name => "Ação")

Para resolver isso, basta inserir na primeira linha do seeds.rb o seguinte comentário:


# encoding: UTF-8

Parece que é um problema do método load do Ruby.

____________

Uma referência básica sobre encoding é o artigo The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!), do Joel Spolsky.

Anúncios