加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 尽管在Heroku上使用Rails设置了新的参数组,但

发布时间:2020-12-17 03:10:00 所属栏目:百科 来源:网络整理
导读:我正在使用Amazon RDS作为数据库在Heroku上设置一个新的Rails(2.3.5)应用程序实例.我想把UTF-8用于一切.由于默认情况下RDS不是UTF-8,我设置了一个新的参数组并将数据库切换为使用那个,基本上每 this个.似乎有效: SHOW VARIABLES LIKE '%character%';charact
我正在使用Amazon RDS作为数据库在Heroku上设置一个新的Rails(2.3.5)应用程序实例.我想把UTF-8用于一切.由于默认情况下RDS不是UTF-8,我设置了一个新的参数组并将数据库切换为使用那个,基本上每 this个.似乎有效:

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数据库.在rake db:migrate之后,一切看起来都很好:

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

…在database.yml中,虽然我不确定在这种情况下是否正在进行任何设置,因为Heroku在连接到RDS时似乎正在进行自己的配置.

现在,我通过应用程序中的表单输入评论:“úbe???iL”,但在数据库中我有“??be???’?¥iL”

当Rails将数据库加载回数据库并将其呈现给页面时,它看起来很好,所以无论它采用哪种方式,它都会以相反的方式撤消.如果我查看Sequel Pro中的RDS数据库,如果我将编码设置为“UTF-8 Unicode via Latin 1”,它看起来很好.所以似乎拉丁语-1在某个地方潜行.

当连接到本地MySQL数据库时,一切都在开发中.

有人必须先做过这个,对吧?我错过了什么?

解决方法

有一种更简单的方法.您可以在数据库连接字符串中指定编码.编辑RDS插件,并追加?encoding = utf8& collat??ion = utf8_general_ci

对我来说工作得很好,没有改变项目.

例如.:

mysql://user:pass@abc.rds.amazonaws.com/my-db?encoding=utf8&collation=utf8_general_ci

参考:
http://blog.arvidandersson.se/2011/09/27/setting-activerecord-connection-to-utf8-on-heroku

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读