2012-01-05 28 views
1

私は非常に新しいレールです。Rails UTF8エンコーディングの問題

私は既存のMS SQL DBを持っており、その上にrails-appをビルドします。私は、既存のテーブルから必要なものすべてを足場に取り入れました。

しかし、私はindex.html.erbのソースコードにUmlautを持っています。

<td><%= wohnung.Grösse %></td> 

しかし、これは500内部サーバーエラーを発生させます。

development.logは...私を助けていません:

Started GET "/wohnungs" for 127.0.0.1 at 2012-01-05 13:52:24 +0100 
Processing by WohnungsController#index as HTML 
[1m[36mWohnung Load (0.0ms)[0m [1mEXEC sp_executesql N'SELECT [Wohnung].* FROM [Wohnung]'[0m 
Rendered wohnungs/index.html.erb within layouts/application (15.6ms) 
Completed 500 Internal Server Error in 62ms 

私はこの行を削除した場合、それが動作します。しかし、テキスト内の他のすべてのウムラウトは '私がやったこと...

  • を追加しました' 'で表される#coding:UTF-8' wohnung_controllerの上に
  • 追加された「エンコーディング:application.rbにdatabase.ymlのに、
  • を追加しました 'UTF8' config.encoding = "UTF8"'、
  • 追加メタHTTP-当量= "Content-Typeの" コンテンツ= "テキスト/ html; charset = utf-8 "をapplication.html.erb-fileに追加します。

私は次に何ができるかさっぱりだが... :)

ご挨拶、あなたがwohnung.groesseようにそれほど問題に外接を使用していないのはなぜ Beasty

+0

wohnung_controllerの上にある '#coding:utf-8'が '#encoding:utf-8'を読み取らなければならないかどうかはわかりません –

+0

これはタイプミスでした。 * .html.erbファイルが実際にあります。しかし、私はユニコードなどのメタタグを追加しました。しかし、何も変わっていません、私はまだ問題があります... – Beastcraft

答えて

1

を助けてください?データベース列の名前を変更するだけで済みます。ファンクションまたはデータベースの列名に特殊文字を使用することは推奨できません。

+0

それは一般にメソッド名に非ASCII文字を入れるのは悪い考えです。 – Romain

+0

はい、あなたは正しいです。私はそれらの名前を変更します、ありがとう:-)しかし、私はまだ問題がある、私のテキスト内のウムラウトが正しく表示されていません。ウムラウトは アイコンで表されます。 (Webページのdb-entryからのそれらの文字列...)どのようにそれを解決するには? :/ – Beastcraft

+0

utf8は正しいエンコードです。データベースにcharset utf8がある場合、それはうまくいくはずです。エンコーディングは、database.ymlとオプション 'DEFAULT CHARSET = utf8' – 0x4a6f4672

関連する問題