2012-02-29 57 views
5

,當我剛剛通過我的應用程序在自己的生產環境:UTF-8麻煩Rails應用程序傳遞給生產

  • Debian的
  • nginx的
  • 麒麟
  • MySQL的

在我使用的開發:

  • 的Mac OSX 10.7.3
  • 的WEBrick
  • sqlite的

,當我去查看一些UTF-8字符我得到了一個錯誤:

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT): 
    1: render renderer_for(:new) 
    app/admin/projects.rb:122:in `block (2 levels) in <top (required)>' 

在我加入這個我的文件頂部:

# encoding: utf-8 

它使它在我的開發環境中工作但不是在我的製作環境中,有什麼想法?

編輯

錯誤來自這裏:

f.has_many :roles do |app_f| 
    app_f.inputs do 
    # if object has id we can destroy it 
    if app_f.object.id 
     app_f.input :_destroy, :as => :boolean, :label => "Supprimer l'utilisateur du projet" 
    end 
    app_f.input :user,  :include_blank => false, :label_method => :to_label 
    app_f.input :role_name, :include_blank => false 
    #app_f.input :role_level, :label => 'Author type', :as => :select, :include_blank => false, :collection => Role::role_list 
    end 
end 

如果我改變當前區域它不會改變任何東西。

編輯

我使用Ruby 1.9.3和3.1.0鋼軌我 沒有視圖來顯示,因爲我使用的是DSL ActiveAdmin

回答

2

我改變mysql的在我的Gemfile通過mysql2

它工作:)

0

我發現2點你的問題的問題你有沒有看到這個問題,我希望答案可以幫助解決你的問題。 :)

Question 1 Question 2

+0

我都試一下,但它不工作:( – Awea 2012-02-29 14:38:34

+0

是線路122則標籤標記線?我認爲你對特殊的charakter>'<(apostroph)測試有問題,它會移除你的標籤。 – bulleric 2012-03-01 12:35:31

+0

沒有這個字符的問題,只是一個與MySQL寶石fuc ***問題:) – Awea 2012-03-01 14:31:52

0

verison你使用你沒有告訴其紅寶石。你必須顯示視圖代碼。

編碼管理很難,Ruby/Rails也不例外。

有關Yehuda KatzJEG2的一些關於編碼以及Rails如何實現它的偉大文章。

+0

我不知道爲什麼,但錯誤行對應於一行沒有任何字符串 – Awea 2012-02-29 15:25:00

+0

你可以複製/粘貼你的視圖代碼? – jlecour 2012-03-01 16:49:15

+1

沒有視圖代碼,我使用ActiveAdmin,並且是我的視圖的內部DSL。我通過在我的gemfile中將mysql更改爲mysql2來解決我的問題。 – Awea 2012-03-02 09:36:32