Ruby on rails Rails如何将JSON呈现为UTF-8?

Ruby on rails Rails如何将JSON呈现为UTF-8?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,在我的控制器中,我有: def index @title = 'asdsadas' @kategoris = Tag.where("name like ?", "%#{params[:q]}%") respond_to do |format| format.html format.json { render :json => @kategoris.map(&:attributes) } end end 我创建了一个猴子补丁作为这个问

在我的控制器中,我有:

def index
    @title = 'asdsadas'
    @kategoris = Tag.where("name like ?", "%#{params[:q]}%")
    respond_to do |format|
    format.html
    format.json { render :json => @kategoris.map(&:attributes) }
    end
end
我创建了一个猴子补丁作为这个问题的答案:

但是JSON仍然没有正确的编码示例:

Delta i t��vlingar f��r biljetter

我非常确信,您可以使用数据库解决此问题,但快速解决方法可能是:

new_kategoris = @kategoris.map {|v| v.force_encoding('UTF-8') }
format.json { render :json => new_kategoris.map(&:attributes) }

嘿,瑞典人。编码在很多地方都可能是错误的。从ruby 1.9开始,utf-8是默认编码,因此您可能将数据存储为其他内容,或者告诉浏览器显示其他内容。你可能需要提供更多的细节来得到答案。关于所有层以及它们的配置方式的信息可能会有所帮助。我有“mysql”gem,而不是“mysql2”gem,因此我经常需要在视图中强制使用_编码(“UTF-8”)。我无法安装mysql2 gem,因为XAMPP存在问题。如何在哈希属性上调用force_encoding(“UTF-8”)?mysql实例的字符编码设置如何?如果UTF-8不是默认字符集,则可能存在问题。(我不太熟悉mysql gems,所以我不能帮你。我总是在上面使用一些东西,比如active record或sequel。)我得到了:Admin::TagsController中的NoMethodError#index未定义的方法'each#pair',for#你也缺少属性。啊哈-那么简单-我以为你从数据库中得到了一个哈希(最近续集太多)答案更新