我升級到RoR 3.0.1和Ruby 1.9.2。 現在我的視圖中的所有字符串都是ASCII-8BIT?爲什麼升級到Rails 3後,所有的字符串都是ASCII-8BIT?
我相信我有我的應用程序設置爲使用UTF-8
application.rb中
config.encoding = "utf-8"
的database.yml
development:
adapter: mysql
encoding: utf8
我跑
OS X
RVM rvm 1.0.16
Ruby ruby-1.9.2-p0
Rails 3.0.1
我期望的enoding是UTF-8不ASCII
business.desc.encoding
# ASCII-8BIT
由於1.9.x的可以連接我們看到了很多這樣的錯誤,不同編碼的字符串。
<p class="description"><%= truncate(business.desc, :length => 17) %></p>
的錯誤
incompatible character encodings: ASCII-8BIT and UTF-8
activesupport (3.0.1) lib/active_support/core_ext/string/output_safety.rb:74:in `concat'
activesupport (3.0.1) lib/active_support/core_ext/string/output_safety.rb:74:in `concat'
actionpack (3.0.1) lib/action_view/template/handlers/erb.rb:14:in `<<'
app/views/browse/businesses.html.erb:15:in `block in _app_views_browse_businesses_html_erb___1616718260917998189_2173630500__1134905695726531092'
app/views/browse/businesses.html.erb:3:in `each'
app/views/browse/businesses.html.erb:3:in `each_with_index'
app/views/browse/businesses.html.erb:3:in `_app_views_browse_businesses_html_erb___1616718260917998189_2173630500__1134905695726531092'
沒有任何人有這個問題? ruby-1.9.2-p0是否使用正確的版本?
謝謝!
您的數據庫真的在utf-8中,因爲編碼參數沒有定義數據庫編碼。你可以使用其他編碼的數據庫 – shingara 2010-10-23 11:13:54