在ruby 1.9.1中编译rails中的问题

tli*_*iff 9 ruby ruby-on-rails

我使用的是rails 2.3.3和ruby 1.9.1.

我试图渲染一个包含部分的视图.在部分i中输出以UTF8编码的模型的字段.这失败了

ActionView::TemplateError (incompatible character encodings: ASCII-8BIT and UTF-8) on line #248 of app/views/movie/show.html.erb:
245:    <!-- Coloumn right | start -->
246:    <div class="col_right">
247: 
248:        <%= render :partial => 'movie_stats' %>
249: 
250:        <!-- uploaders -->
251:        <div class="box_white">     
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我直接在视图中使用该字段(当它不是部分时),我可以输出具有utf8内容的字段.

我怎样才能解决这个问题?我已经尝试设置默认编码,但似乎没有用.

Sam*_*ron 9

我也有这个,所以我认为它值得有正确的答案.

2.8.1 MySql gem不是utf-8友好的,所以它有时会返回UTF字符串并且对Rails说谎,告诉它它们是ASCII,而实际上它们是UTF-8.这让事情爆炸了.

所以:你可以修补补丁或获得兼容的MySql gem.见:http://gnuu.org/2009/11/06/ruby19-rails-mysql-utf8/