Ruby on rails RubyonRails-HerokuPostgres-encoding

Ruby on rails RubyonRails-HerokuPostgres-encoding,ruby-on-rails,ruby,encoding,heroku,Ruby On Rails,Ruby,Encoding,Heroku,我有一个奇怪的编码问题,或者我用了错误的方法。也许有人知道会发生什么。信息:我是RubyonRails新手 我有一系列的风景名称,它们有特殊的字符,如“äüöèèè…”。在我的表单中,我希望用户选择这些景观的多个项目。因此,我从一个带有所有景观名称的select_标记开始: <%= select_tag 'model[landscapes][]', options_for_select(AVAILABLE_LANDSCAPES, @landscapes_selected), { :mult

我有一个奇怪的编码问题,或者我用了错误的方法。也许有人知道会发生什么。信息:我是RubyonRails新手

我有一系列的风景名称,它们有特殊的字符,如“äüöèèè…”。在我的表单中,我希望用户选择这些景观的多个项目。因此,我从一个带有所有景观名称的select_标记开始:

<%= select_tag 'model[landscapes][]', options_for_select(AVAILABLE_LANDSCAPES, @landscapes_selected), { :multiple => true, :size =>5, :id => "model_landscapes" } %>
true,:size=>5,:id=>“model\u景观”}%>

在我的模型中,我将这些名称保存在数据库中,所有这些都可以正常工作。我有一个很大的数据库,在横向字符串中有这些特殊字符。现有景观条目为“ländscape1、ländscape2、blalilü”。我在保存或从数据库获取数据方面没有问题。在我的本地机器上使用mysql数据库,效果很好!但是当我在heroku上运行我的应用程序时,我有一个编码问题。当我用像“–”这样的字符保存字符串时,它用“\xC3\xA2”保存。

我不知道为什么只有在heroku上运行我的应用程序时才会出现这个问题

但是,这对我来说很有用:

我的错误是,我将选定的风景保存为数据库中的字符串

serialize :landscapes

保存并加载我的风景作为一个数组,然后我没有编码问题

从未使用过heroku。但是,您的服务器和客户端对postgres的编码是什么?您可以运行这些命令“show server_encoding;show client_encoding”;另一件要检查的事情是:确保每个文件顶部有一行“#encoding:utf-8”,该行具有硬编码的特殊字符。在哪里可以运行这些命令,如“show server_encoding”?我尝试在不同的位置设置编码!但一切都没有改变。在heroku数据库的其他字段中保存“äüöé…”不是问题。只有当我使用select_标签时,我才遇到了这个奇怪的问题。我的选项看起来像Tèst。可能我的选项标签的value属性中的特殊字符有问题??