Fortunately, I found the answer to this tricky issue - and it turned out, that it was a problem on database level!
Suprisingly rake db:create:all statement did create the production db WITH encoding UTF-8 like configured in database.yml, but it did with (MySQL default) LATIN-1 for the development database, although this is also marked to use UTF-8 in the same database.yml file.
For future users with this problem: check out your database.yml file for encoding of your database.
development:
adapter: mysql2
encoding: utf8
[...]
test:
adapter: mysql2
encoding: utf8
[...]
production:
adapter: mysql2
encoding: utf8
[...]
I could understand the full encoding stuff thanks to this blog: http://yehudakatz.com/2010/05/05/ruby-1-9-encodings-a-primer-and-the-solution-for-rails/
The code in the question works fine, if you understand, what encoding to send to the database...