Encoding-Probleme in rails auf ruby 1.9.1
Ich bin mit rails 2.3.3 und ruby 1.9.1.
Ich versuche zu Rendern einer Ansicht mit einem teilweisen. In der partiellen i Ausgang ein Feld von einem Modell, ist in UTF8 kodiert.
Dieser schlägt mit
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">
Auf der anderen Seite, kann ich der Ausgabe das Feld mit utf8-Inhalte nur in Ordnung, wenn ich direkt verwenden, um das Feld in einer Ansicht (wenn es nicht in einem teilweisen).
Wie kann ich dieses Problem beheben?
Ich habe bereits versucht die Einstellung der Standard-Codierung, aber das schien nicht zu funktionieren.
- Wie haben Sie versucht, die Einstellung der Standard-Codierung? Können Sie uns ein Beispiel geben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich nur das als gut, so dass ich denke, dass es sich lohnt die richtige Antwort.
Die 2.8.1 MySql-gem ist nicht auf utf-8 freundlich, so ist es manchmal zurück UTF-strings und liegen Schienen, sagt er, dass es sich um ASCII -, wenn in der Tat sind Sie UTF-8. Das macht die Dinge explodieren.
Also: Sie können entweder monkey patch oder bekommen einen kompatiblen MySql-gem. Siehe: http://gnuu.org/2009/11/06/ruby19-rails-mysql-utf8/
Es scheint ein Problem mit ERB s-Codierung in Ruby 1.9. Weitere details sind in dieser Leuchtturm ticket. Ein patch mit einem workaround aufgenommen wurde, vielleicht funktioniert es für Sie?
Scheint es eine Inkompatibilität zwischen Ruby 1.9 x und den mysql-Juwel in Bezug auf, wie die Saiten hin und her übergeben (insbesondere die Kodierung des strings).
Zu beheben, führen Sie
auf dem server, und aktualisieren Sie die Datenbank-Konfigurationsdatei zu verwenden, die dieser Edelstein anstelle des vorhergehenden.