2010-07-26 88 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)

相关问题