1
我使用Arch Linux的Ruby和Rails的下列版本TemplateError而渲染德國特殊字符
[[email protected]: kandibank ]$ ruby --version
ruby 1.9.1p429 (2010-07-02 revision 28523) [x86_64-linux]
[[email protected]: kandibank ]$ rails --version
Rails 2.3.8
我使用在開發模式sqllite數據庫。
我可以存儲具有德語特殊字符(變音符號)的字符串,而不存在 問題,即Müller。
但是,當Rails嘗試渲染一個頁面,該頁面從 中提取相同的字符串時,它會崩潰並顯示以下錯誤消息。奇怪的是, 它正確地呈現字符串「Löchen」,它不是來自 數據庫。
ActionView::TemplateError (incompatible character encodings: UTF-8 and
ASCII-8BIT) on line #28 of app/views/candidates/index.html.erb:
25: <td><%=h candidate.notes %></td>
26: <td><%= link_to 'Ansehen', candidate %></td>
27: <td><%= link_to 'Editieren', edit_candidate_path(candidate)
%></td>
28: <td><%= link_to 'Löchen', candidate, :confirm => 'Are you
sure?', :method => :delete %></td>
29: </tr>
30: <% end %>
31: </table>
app/views/candidates/index.html.erb:28:in `block in
_run_erb_app47views47candidates47index46html46erb'
app/views/candidates/index.html.erb:16:in `each'
app/views/candidates/index.html.erb:16
app/controllers/candidates_controller.rb:8:in `index'
<internal:prelude>:8:in `synchronize'
/usr/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/usr/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/usr/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
Rendered rescues/_trace (44.0ms)
Rendered rescues/_request_and_response (0.2ms)
Rendering rescues/layout (internal_server_error)
有什麼想法嗎?
問候, Hardik
使用RVM安裝多個紅寶石: http://rvm.beginrescueend.com/ 在Arch上工作正常,您不必禁用任何軟件包升級。 – Teoulas 2010-07-23 08:41:39
是的,RVM是一個很好的開發解決方案。 – 2010-07-23 08:55:01
嗨,約翰,你發佈的鏈接不起作用。我也遇到了一些補丁,但我不知道如何應用它。所以,如果我正確地理解了你,我應該用Ruby 1.8來代替。 – rangalo 2010-07-23 09:34:30