データベースとしてAmazon RDSを使用してHeroku上にRails(2.3.5)アプリケーションの新しいインスタンスを設定します。私はすべてのためにUTF-8を使用したいと思います。デフォルトではRDSはUTF-8ではないので、私は新しいパラメータグループを設定し、そのデータベースを使用するようにデータベースを切り替えました。基本的にはthisです。Heroku上のRailsを使用して新しいパラメータグループを設定していても、RDSにUTF-8を保存できません
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/
さらに、私はHerokuをセットアップしてRDSデータベースを使用することに成功しました。すくいデシベル後:移行、すべてがよさそうだ:マークアップで
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;
を、私が含まれている:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
はまた、私が設定した:
production:
encoding: utf8
collation: utf8_general_ci
...この場合、HerokuはRDSに接続するときに独自の設定を行っているように見えるので、database.ymlでは、これらの設定のいずれかを守るために何かが行われているとは確信していません。
は今、私は、アプリ内のフォームを通じてコメントを入力します。「Úbe®ƒåiLを」が、データベースに、私はそれは時に正常に見える
「Úbe®Æ'Ã¥iLのを」持っていますRailsはそれをデータベースから読み込み、それをページにレンダリングします。したがって、どのような方法で行っても、それは逆に元に戻します。 Sequel ProのRDSデータベースを見ると、エンコーディングを "Latin 1経由でUTF-8 Unicode"に設定しても問題ありません。だから、Latin-1はどこかに忍び込んでいるようだ。
ローカルのMySQLデータベースに接続すると、すべてが開発中です。
誰かが前にこれをしていたに違いないでしょうか?私は何が欠けていますか?
私は「NAMESのUTF8を設定」するinit_connect設定した場合、何が起こるかどうかを確認したいのですが、私が行う方法を見つけ出すことはできませんRDSのコマンドラインインターフェイスを使用します。私はスペースで値を設定すると窒息しているように見えるのでエラーが返されます。どのようにそれを行うか分からない。 – Lail