Não é possível armazenar UTF-8 no RDS, apesar de configurar o novo Grupo de Parâmetros usando o Rails no Heroku

Estou configurando uma nova instância de um aplicativo Rails (2.3.5) no Heroku usando o Amazon RDS como banco de dados. Eu gostaria de usar UTF-8 para tudo. Como o RDS não é UTF-8 por padrão, configurei um novo Grupo de Parâmetros e troquei o banco de dados para usá-lo, basicamente poresta. Parece ter funcionado:

SHOW VARIABLES LIKE '%character%';

character_set_client        utf8
character_set_connection    utf8
character_set_database    utf8
character_set_filesystem    binary
character_set_results      utf8
character_set_server        utf8
character_set_system        utf8
character_sets_dir       /rdsdbbin/mysql-5.1.50.R3/share/mysql/charsets/

Além disso, configurei com sucesso o Heroku para usar o banco de dados RDS. Após o rake db: migrate, tudo fica bem:

CREATE TABLE `comments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `commentable_id` int(11) DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `content` text COLLATE utf8_unicode_ci,
  `child_count` int(11) DEFAULT '0',
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `commentable_id` (`commentable_id`),
  KEY `index_comments_on_community_id` (`community_id`),
  KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Na marcação, incluí:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Além disso, eu configurei:

production:
  encoding: utf8
  collation: utf8_general_ci

... no database.yml, embora não esteja muito confiante de que algo esteja sendo feito para honrar qualquer uma dessas configurações neste caso, pois o Heroku parece estar fazendo sua própria configuração ao se conectar ao RDS.

Agora, insiro um comentário através do formulário no aplicativo: "Úbe® ƒåiL", mas no banco de dados eu tenho "Úbe® Æ'à ¥ iL"

Parece bom quando o Rails o carrega de volta do banco de dados e é renderizado para a página; portanto, o que quer que esteja fazendo de uma maneira, está desfazendo a outra. Se eu olhar o banco de dados RDS no Sequel Pro, parece ótimo se eu definir a codificação como "UTF-8 Unicode via Latin 1". Parece que o Latin-1 está escondido em algum lugar.

Tudo funciona em desenvolvimento, ao conectar-se a um banco de dados MySQL local.

Alguém deve ter feito isso antes, certo? o que estou perdendo?

questionAnswers(2)

yourAnswerToTheQuestion