我在那里,我是 ruby (和 Rails)的新手,并且在字符串中使用瑞典语字母时遇到一些问题。在我的操作中,创建一个如下所示的实例变量:
@title = "Välkommen"
我收到以下错误:
invalid multibyte char (US-ASCII)
syntax error, unexpected $end, expecting keyword_end
@title = "Välkommen"
^
发生了什么?
EDIT:如果我添加:
# coding: utf-8
在我的控制器顶部它可以工作。这是为什么?我该如何解决这个“问题”?
参见 Joel spolsky 的文章“每个软件开发人员绝对必须了解 Unicode 和字符集的绝对最低限度(没有任何借口!) http://www.joelonsoftware.com/articles/Unicode.html".
引用简洁回答这个问题的部分
关于编码的最重要的事实
如果你完全忘记了我刚才解释的一切,请记住
一个极其重要的事实。拥有字符串是没有意义的
不知道它使用什么编码。你不能再坚持你的
把头埋在沙子里,假装“纯”文本是 ASCII。
这就是为什么您必须告诉 ruby 文件中使用什么编码。由于编码未在与您的文件关联的某种元数据中标记,因此某些软件假定为 ASCII,直到它知道得更好为止。 Ruby 1.9 可能会这样做,直到您发表评论时它才会停止,并重新开始读取文件,现在将其解码为 utf-8。
显然,如果您对 ruby 文件使用了其他 Unicode 编码或更多本地编码,则需要更改注释以指示正确的编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)