2010-07-26 18 views
3

我正在閱讀'使用Rails3rd進行敏捷Web開發'。在完成軟件倉庫應用程序時,我輸入一些中文字符作爲用戶名。但是我得到了這個錯誤,這似乎與Ruby1.9有關。如何處理'不兼容的字符編碼:ASCII-8BIT和GBK'異常?

我的環境是window xp,Ruby1.9 Rails 2.3.8和sqlite3。

以下是有關此錯誤的細節:


顯示應用程序/視圖/佈局/ store.html.erb其中行#43提出:

不相容字符編碼:ASCII-8BIT和GBK

提取的源(圍繞線#43):

40:<%如果閃光[:聲明] - %>

41:<%= H閃光[:通知]%>

42:<%端 - %>

43:<%=收率:佈局%>


任何可以幫我解決這個問題嗎?

+0

這將是一件好事,如果你可以提供完整的堆棧跟蹤。然後我們可以幫助你正確地解決問題。 – thomasfedb 2012-06-10 08:35:56

回答

2

A,O,p等我發現在開始添加

# encoding: utf-8 

要簡單得多(也可能更優雅)

0

你可以嘗試把這個在您的environment.rb文件中:

Encoding.default_internal = Encoding.find("UTF-8") 

您可能也有複合在Windows控制檯不正確編碼的問題。確保它被設置爲Unicode。

+0

這似乎確實有效。當我在我的environment.rb文件中添加Encoding.default_internal = Encoding.find(「UTF-8」)時,我得到了零錯誤。 – Chris 2010-07-28 01:36:19

+0

你的意思是它不起作用?如果是這樣,給我一張支票;) – 2010-07-28 06:56:57

+0

它不起作用。我得到這個錯誤 「內部服務器錯誤 你沒有預期它的對象!你可能預期了一個Array實例。評估nil.each時出錯」 – Chris 2010-07-29 09:07:22

0

這是荒謬的,但我有同樣的問題,直到

我發現,我只是有西裏爾字母「C」中的類名的一個%)

,所以也許這是檢查,如果你很好的建議不使用類似C,從另一個鍵盤佈局(S)

相關問題